我创建一个C#COM互操作为C++调用。 我已经通过regasm注册了dll和tlb文件。一切顺利,直到有一天我改变了C#部分的代码(我没有改变接口的定义,只是实现改变了)。 COM中的一个接口返回错误0x80131509。奇怪的是,它只发生在一些计算机上(我的开发PC运行良好,所以我无法调试这个问题)。我不太清楚C#COM如何与C++一起工作,在我注册它们之后,我只知道它们在窗口注册表中创建了关键值(如regasm/regfile生成的)。 C++如何知道COM DLL在哪里(搜索路径环境变量)?以及在运行时使用tlb文件?C++调用C#COM互操作错误:HRESULT 0x80131509
有什么建议吗?
感谢您的回复。今天,我登录了问题PC,最终找到了错误的原因。这是因为C#COM部分抛出了一个异常,但我没有抓住它。我无法重现的原因是他们连接到差异数据库。 – ArdenZhao 2012-02-02 08:53:44