在Visual Studio中粘贴引用时出现错误HRESULT E_FAIL
我知道这不是一个编程问题,但它是一个编程工具问题。
在Visual Studio 2008 Team Edition(带有.NET 3.5 SP1的9.0版)中,当我将引用从一个csproj复制并粘贴到另一个csproj时(使用“解决方案资源管理器”视图中的上下文菜单),我收到以下错误:
错误HRESULT E_FAIL已从调用COM组件返回
这刚刚开始在我的机器上发生。 我只能找到关于它的这篇文章,它不包含任何解决方案。
有任何想法吗?
Yikes,E_FAIL是最通用的COM错误,因为它确实意味着COM函数返回失败。 我猜想,不知何故,visual studio 2008在某个地方有一个损坏的COM对象。
您是否尝试重新安装visual studio 2008只是为了让它重新注册所有的tlb和对象?
这是在Google for VS 2010 paste reference E_FAIL
等上出现的排名第一,所以我想我会分享这个解决方法:
不要通过解决方案资源管理器中的上下文菜单使用复制/粘贴引用。
代替:
- 使用上下文菜单卸载项目以复制引用。
- 编辑项目文件(.csproj;它只是XML)。
- 找到您感兴趣的引用并复制
XML节点。 - 卸载项目以将引用复制到。
- 编辑项目文件(.csproj)
- 将上一步中复制的引用粘贴到适当的位置。 您需要查找包含
类的
节点,并在其上方粘贴您的引用。 - 关闭两个.csproj文件,同时保存刚刚修改过的目标文件。
- 通过Solution Explorer上下文菜单重新加载这两个项目。
您的引用现在已复制到目标项目中。
显然,至少,使用环境变量的引用存在问题,如此处所述(尽管在我的情况下,我遇到了没有使用环境变量的引用的问题,并且在Visual Studio 2010中…)