我最近需要生成一个互操作程序集。通过谷歌搜索,我发现了tlbimp.exe。我的下一个问题是我的COM库没有附带.tlb文件。进一步搜索发现,lib类型通常作为资源包含在exe/dll中。果然,在VS2010中打开可执行文件显示了它的类型库,然后右键单击,我就有了一个与tlbimp一起使用的tlb文件。太棒了。
然而,这并不是一个非常好的过程。如果我将来需要这样做,有没有一种方法可以使用命令行从.exe中提取类型库(.tlb文件)?
发布于 2010-11-27 00:21:39
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地狱也在敲你的门。
https://stackoverflow.com/questions/4284797
复制相似问题