Visual studio 2010 VS2010:在.NET2项目中使用COM

Visual studio 2010 VS2010:在.NET2项目中使用COM,visual-studio-2010,com,.net-2.0,Visual Studio 2010,Com,.net 2.0,我有一个.NET2.0项目需要使用COM组件(特别是Redemption)。在VisualStudio2010中,我向COM dll添加了一个引用,就像在所有以前的VS版本中一样(右键单击项目->添加引用->COM选项卡->选择产品->确定)。当我构建并尝试运行应用程序时,我不断收到以下错误: 由于以下错误,从IClassFactory创建CLSID为{29AB7A12-B531-450E-8F7A-EA94C2F3C05F}的COM组件实例失败:80004005。 我没有太多的运气弄清楚这个

我有一个.NET2.0项目需要使用COM组件(特别是Redemption)。在VisualStudio2010中,我向COM dll添加了一个引用,就像在所有以前的VS版本中一样(右键单击项目->添加引用->COM选项卡->选择产品->确定)。当我构建并尝试运行应用程序时,我不断收到以下错误:


由于以下错误,从IClassFactory创建CLSID为{29AB7A12-B531-450E-8F7A-EA94C2F3C05F}的COM组件实例失败:80004005。

我没有太多的运气弄清楚这个错误是怎么回事

我已经验证了运行应用程序的计算机是否通过regsvr32.exe注册了COM dll

我能想到的唯一一件事是,这与VisualStudio2010导入COM组件的方式(可能?)与以前的版本不同有关?在这方面的任何指导都将非常有用

提前谢谢

编辑:用于实例化COM类的代码

RDOSession session=newrdosessionclass()

这是E_FAIL,“未指定的错误”。这是一个完全无用的错误代码,但对于COM服务器来说并不少见。程序员走了一条捷径,找不到更好的错误代码,也不想创建自己的错误代码。它是否与互操作库有任何关系是非常值得怀疑的,因为您从未真正使用过它


可能是COM服务器需要的某种配置,可能是安装问题。但这些只是胡乱猜测。最终,您可能需要组件供应商或作者的帮助才能克服这一困难。

您能否发布用于实例化COM对象并调用它的代码?另外,您是否检查了COM实现所在dll的权限,并确保应用程序运行所用的帐户具有访问dll的权限?@Zippit添加了我用于实例化COM对象的代码。我想重要的是要注意,这与我在IDE从VS2005升级到VS2010之前所做的相同。应用程序是在用户环境下运行的,而用户恰好是机器的本地管理员。啊,一定很喜欢。这比你想象的要有用得多。在另一台机器上运行应用程序正在工作,因此看起来它肯定与机器/配置相关。