我有一个需要使用COM组件的.NET 2.0项目(特别是Redemption)。在Visual Studio 2010中,我将添加对COM dll的引用,就像在所有以前的VS版本中一样(右键单击项目 - >添加引用 - > COM选项卡 - >选择产品 - >确定)。当我构建并尝试运行应用程序时,我不断收到以下错误:
Creating an instance of the COM component with CLSID {29AB7A12-B531-450E-8F7A-EA94C2F3C05F} from the IClassFactory failed due to the following error: 80004005.
我没有太多运气搞清楚这个错误是什么。
我已经验证应用程序运行的计算机是否通过regsvr32.exe注册了COM dll。
我唯一能想到的是,这与Visual Studio 2010导入COM组件的方式有所不同(可能是?),而不是以前的版本?任何方向都非常有帮助。
提前致谢。
编辑:用于实例化COM类的代码。
RDOSession session = new RDOSessionClass();
答案 0 :(得分:1)
那是E_FAIL,“未指定的错误”。这是一个完全没用的错误代码,但对于COM服务器来说并不罕见。程序员走了一条捷径,找不到更好的错误代码,也不想创建自己的错误代码。它与互操作库有任何关系是非常值得怀疑的,你从来没有达到实际使用它的程度。
可能是COM服务器需要的某种配置,也许是安装问题。但这些只是猜测。最终,您可能需要组件供应商或作者的帮助才能超越这个突发事件。