【发布时间】:2012-02-23 23:56:56
【问题描述】:
我创建了一个 C# COM 互操作供 c++ 调用。 我已经通过 regasm 注册了 dll 和 tlb 文件。 一切都很顺利,直到有一天我更改了 C# 部分的代码(我没有更改接口的定义,只是更改了实现)。 COM 中的一个接口返回错误 0x80131509。奇怪的是,它只发生在某些电脑上(我的开发电脑运行良好,所以我无法调试这个问题)。 我不太清楚 C# COM 如何与 C++ 一起工作,在我注册它们之后,我只知道它们在窗口注册表中创建了键值。(就像 regasm /regfile 生成的一样)。 c++ 如何知道 COM dll 在哪里(搜索路径环境变量)? tlb文件在运行时有什么用?
有什么建议吗?
【问题讨论】: