0

我想使用 .NET SDK 中包含的 tlbimp.exe 工具从类型库创建互操作程序集。

我的问题是源类型库正在引用另一个我没有可用的库中的类型。如何让 tlbimp 不为引用类型自动生成程序集?

我收到以下错误:

解决对类型库“GridEX20”的引用。
自动将“GridEX20”导入“C:\tmp\GridEX20.dll”。
TlbImp:错误 TI0000:System.Runtime.InteropServices.COMException - 加载类型库/DLL 时出错。(来自 HRESULT 的异常:0x80029C4A (TYPE_E_CANTLOADLIBRARY))

使用进程监视器我得出的结论是找到了 GridEX20 库,但它引用了另一个未找到的库,并且当找不到该库时 tlbimp 报告错误。

4

1 回答 1

0

您可以尝试 /strictref 选项,但我认为它不会帮助您。

我建议您使用 Dependency Walker 检查 GridEX20.dll(对于 VS2005,它位于 C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin 中,但我认为它已不再发布 - 您可以找到这里有一个版本)。

这应该告诉您 dll 依赖于哪些程序集 - 这至少可以确认您的初始假设是否正确。

于 2009-05-27T15:53:53.217 回答