Com 如何使tlbimp不自动生成引用类型的程序集?

Com 如何使tlbimp不自动生成引用类型的程序集?,com,interop,tlbimp,Com,Interop,Tlbimp,我想使用.NET SDK中包含的tlbimp.exe工具从类型库创建互操作程序集 我的问题是源类型库正在引用另一个库中我没有可用的类型。如何使tlbimp不自动生成引用类型的程序集 我得到以下错误: Resolving reference to type library 'GridEX20'. Auto importing 'GridEX20' to 'C:\tmp\GridEX20.dll'. TlbImp : error TI0000 : System.Runtime.InteropSe

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

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

我得到以下错误:

Resolving reference to type library 'GridEX20'. Auto importing 'GridEX20' to 'C:\tmp\GridEX20.dll'. TlbImp : error TI0000 : System.Runtime.InteropServices.COMException - Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)) 正在解析对类型库“GridEX20”的引用。 自动将“GridEX20”导入到“C:\tmp\GridEX20.dll”。 TlbImp:错误TI0000:System.Runtime.InteropServices.COMException-加载类型库/DLL时出错。(HRESULT的例外情况:0x80029C4A(类型为E)
通过使用,我得出结论,GridEX20库已找到,但它引用了另一个未找到的库,当找不到此库时,tlbimp会报告一个错误。

您可以尝试/strictref选项,但我认为它对您没有帮助

我建议您使用Dependency Walker检查GridEX20.dll(对于VS2005,可以在C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin中找到它,但我认为它已经不再提供了—您可以找到一个版本)

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