2010-11-26 53 views
4

我最近需要生成一個interop程序集。經過一些Google搜索後,我發現tlbimp.exe。我的下一個問題是我的COM庫沒有附帶.tlb文件。進一步的谷歌搜索顯示,lib類型經常被包含在exe/dll中作爲資源。果然,在VS2010中打開exe文件顯示它是lib類型,然後右鍵單擊我有一個tlb文件可用於tlbimp。真棒。如何在命令行上從COM exe中提取TypeLib

但是這不是一個很好的過程。我是否應該在將來需要這樣做,是否有使用命令行從.exe中提取Type Lib(.tlb文件)的方法?

回答

8

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也在敲你的門。

+1

如果我可以upvote這兩次,我會。 – 2010-11-26 16:23:09