在更新服务引用时,我收到错误HRESULT E_FAIL已从对COM组件的调用中返回

本文关键字:FAIL COM 组件 返回 调用 引用 服务 更新 HRESULT 错误 | 更新日期: 2023-09-27 18:29:25

我已经创建了一个restful wcf服务,已经存在GET方法。但在界面中,我创建了类似的后方法

[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "createDemo")]
int createDemo(ObjectInfo obj);

我在另一个asp.net网站项目中使用了此服务,在更新那里的服务时,我收到了"HRESULT E_FAIL已从对COM组件的调用返回"错误。现在,如果我从服务接口评论这个post方法。服务引用已更新。我在谷歌上搜索了同样的内容,但我不明白是什么导致了这个问题?

在更新服务引用时,我收到错误HRESULT E_FAIL已从对COM组件的调用中返回

Start—>Run—> regsvr32  %SystemRoot%'System32'msxml3.dll
Start—>Run—> regsvr32  %SystemRoot%'SysWOW64'msxml3.dll

从以下位置删除项目缓存:

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

这是针对Microsoft Visual Studio 2010 的

请通过此链接了解更多详细信息。。

http://blogs.msdn.com/b/smondal/archive/2013/03/08/error-hresult-e-fail-has-been-returned-from-a-call-to-a-com-component.aspx

希望它能帮助你。

还可以尝试以下操作吗:
清理项目并重新生成。
关闭项目,转到其文件夹位置并删除bin和obj文件夹
确保项目中的引用程序集位于同一位置。要执行此操作,请展开项目并在属性窗口中检查每个程序集路径。

对于Microsoft Visual Studio 2013,我建议您可以尝试删除项目缓存,路径如下:

C:'Program Files'Microsoft Visual Studio 12.0'Common7'IDE'ProjectTemplatesCache
C:'Program Files(x86)'Microsoft Visual Studio 12.0'Common7'IDE'ProjectTemplatesCache

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

Start—>Run—> C:'Program Files'Microsoft Visual Studio 12.0'Common7'IDE'devenv.exe  /setup