错误HRESULT E_FAIL在调试时从调用COM组件VS2012返回

Mat*_*att 60 visual-studio visual-studio-2012

调试从Visual Studio 2010迁移到2012的项目时出现问题.每次调试它时都会收到错误消息:

"错误HRESULT E_FAIL已从调用COM组件返回".

在本地IIS服务器上编译和运行应用程序工作正常 - 只是无法调试.

除了迁移到VS2012之外的另一个变化是我现在使用Team Foundation Server进行源代码控制和问题跟踪 - 但我看不出它会如何影响它.

我可以将其缩小到以下几点

  • 项目文件 - 它已从VS 2003迁移为一个网站项目,并已被切断并更改了不同的版本
  • Crystal Report运行时库/其他一些库

有想法的人吗?

Tim*_*all 55

我最近得到了很多,我不得不创建一个新文件并将代码移动到新文件来解决它.

但我找到了一个快速,简单,无痛的修复方法.

在我的特定情况下,我删除解决方案的suo文件(据我所知,只是存储信息,如IDE中打开的文件和东西,所以删除它没有真正的损害).我的文件似乎已损坏(IDE不会记住重新启动时打开的文件是什么,它的大小为1.7meg,即使对于我的40项目解决方案来说也是如此,它很少同时打开超过50个文件).

总结一下:在VS关闭时删除.suo文件,修复了E_FAIL问题我正在设计模式下打开我的winforms文件.

编辑:

我最近不得不在VS2017中做到这一点,但由于另一个原因,它需要更长的时间来构建并花了5分多钟来停止调试会话,删除那个讨厌的suo文件修复它,现在任何时候VS行为怪异删除SUO是我的第一个停靠港.

  • 谢谢,删除了.vs目录树,并修复了VS2017中具有相同错误的生成问题。 (3认同)

Ale*_*aro 36

我删除了csproj.user文件,它对我有用.

在其他一些情况下,要修复此错误,我转到项目属性中的Web选项卡,然后选中"使用Visual Studio开发服务器"和"自动分配端口".之后,我需要重建项目并重新启动VS.

  • 截至MVS2017为止有一点澄清。转到工具->选项...,然后单击项目和解决方案-> Web项目,然后取消选中“在服务器资源管理器中自动显示来自web.config的数据连接...”,然后重新编译。从2019年开始的问候,就像魅力一样! (2认同)

dat*_*oml 28

我在Visual Studio 2019中的c ++项目中遇到了相同的问题。

以下解决方案为我工作:

  • 关闭Visual Studio。
  • 转到项目的根文件夹,然后删除.vs目录。
  • 启动Visual Studio并打开解决方案。
  • 构建现在应该可以工作了。

  • 为我工作。删除 .vs 目录后不要忘记关闭 VS。顺便说一句,.vs 目录是隐藏的。 (3认同)

小智 14

这解决了我的问题:

开始 —> 运行 —> regsvr32 %SystemRoot%\System32\msxml3.dll

开始 —> 运行 —> regsvr32 %SystemRoot%\SysWOW64\msxml3.dll

在此之前,我尝试了 Simon 的上述解决方案,但对我不起作用!

也许将这两种解决方案结合起来就可以了!

  • 这对我也有效。我不知道 VS 是如何进入这种状态的,但这让我摆脱了困境。我在打开解决方案时遇到此错误 (2认同)

Sim*_*mon 5

也许这个页面有帮助:

场景二:Microsoft Visual Studio 2010 IDE 在创建或调试 Web 应用程序项目时崩溃。发生上述错误的原因是 Visual Studio 2010 的缓存损坏。要解决此问题,只需从以下位置删除项目缓存:

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplatesCache

C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplatesCache

然后运行devenv.exe /setup重新构建缓存。


Mar*_*ive 5

哎哟!如果其他人在尝试附加到 IIS 网站时遇到此错误。

三重检查您的主机名是否正确,我忘记了(例如)http://my.testsite.com中的“/”

在像我一样重新安装 Visual Studio 之前尝试这个..可怕的错误消息..


Sug*_*gat 5

我想补充一点,我在WinForms应用程序中打开设计器文件时遇到此错误.我的问题是该项目中的一个参考文献引用了自己.显然这可能发生在这里提到

https://social.msdn.microsoft.com/Forums/office/en-US/00aede04-d8cd-4475-8114-4b4792261052/winforms-designer-error-hresult-efail-has-been-returned-from-a-号召-A-COM组件

我删除了引用,它工作正常.


小智 5

抱歉,死线程复活了,但是我在VS2017上通过删除项目模板缓存和项目模板缓存文件夹解决了此问题

%appdata*\Local\Microsoft\VisualStudio\[BUILD]
Run Code Online (Sandbox Code Playgroud)

然后通过重置视觉工作室设置

Tools>Import and export settings>reset all settings
Run Code Online (Sandbox Code Playgroud)

我也听说关闭“所有项目的轻量级解决方案负载”会有所帮助。