5

我最近需要生成一个互操作程序集。经过一番谷歌搜索后,我发现tlbimp.exe. 我的下一个问题是我的 COM 库没有附带.tlb文件。进一步的谷歌搜索显示类型库通常作为资源包含在 exe/dll 中。果然,在 VS2010 中打开 exe 显示它是 lib 类型,然后右键单击我有一个 tlb 文件可以与tlbimp. 惊人的。

然而,这不是一个很好的过程。我将来是否需要这样做,有没有办法使用命令行从 .exe 中提取类型库(.tlb 文件)?

4

1 回答 1

9

Tlbimp.exe 可以很好地处理 EXE 中的类型库资源。例如:

C:\temp\temp>tlbimp c:\windows\system32\wiaacmgr.exe
Microsoft (R) .NET Framework Type Library to Assembly Converter 3.5.30729.1
Copyright (C) Microsoft Corporation.  All rights reserved.

Type library imported to WIAACMGRLib.dll

顺便说一句,自动化这是相当冒险的。类型库完全等同于程序集引用。如果它改变了,你想知道它。不仅仅是因为您可能不得不修改您的互操作代码并重新测试它,DLL Hell 也在敲您的门。

于 2010-11-26T16:21:39.260 回答