无法将类型为“System.__ComObject”的COM对象转换

6

当我试图在Visual Studio 2010中发布一个XNA项目时,我会遇到以下错误。

错误1 发布失败,出现以下错误:无法将类型为'System.__ComObject'的COM对象强制转换为接口类型'Microsoft.VisualStudio.OLE.Interop.IServiceProvider'。由于针对IID'{6D5140C1-7436-11CE-8034-00AA006009FA}'的COM组件上的QueryInterface调用失败,此操作失败,原因是没有支持该接口(来自HRESULT: 0x80004002(E_NOINTERFACE))。 1 1 Asteroids

我尝试注册actxprxy.dllieproxy.dll,但仍然遇到这个错误。

我使用一个空的XNA游戏模板以及一个已完成的XNA游戏都遇到了这个错误。

我能够正常构建和调试相同的项目。


1
请分享一些代码以供讨论。 - Romil Kumar Jain
这与代码无关,会在其他人的代码、我的代码以及输入方法中出现。 - Gavin Gassmann
2个回答

2
有一个讨论声称这是由于“注册表损坏”引起的。其中一条评论提出了一个“核心”的解决方案,即重新注册System32文件夹中的每个OCX和DLL:
for %1 in (%windir%\system32\*.dll) do regsvr32 /s %1
for %1 in (%windir%\system32\*.ocx) do regsvr32 /s %1

也许它可以解决你的问题。

1

建议注册ieproxy.dll

regsvr32 "C:\Program Files\Internet Explorer\ieproxy.dll"

如果您正在运行64位Windows,请尝试以下操作:

regsvr32 "C:\Program Files (x86)\Internet Explorer\ieproxy.dll"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接