HOW TO:使用 Tlbimp.exe 產生主要 Interop 組件
更新:2007 年 11 月
產生主要 Interop 組件最直接的方式是使用型別程式庫匯入工具 (TlbImp.exe)。
若要使用 Tlbimp.exe 產生主要 Interop 組件
在命令提示字元中輸入:
tlbimptlbfile **/primary /keyfile:filename/out:**assemblyname
在此命令中,tlbfile 是包含 COM 型別程式庫的檔案、filename 是包含金鑰組的容器或檔案名稱,而 assemblyname 是以強式名稱簽名的組件名稱。
主要 Interop 組件只能參考其他主要 Interop 組件。如果您的組件參考型別來自於協力廠商的 COM 型別程式庫,在您可以產生自己的主要 Interop 組件之前,您必須從發行者取得主要 Interop 組件。如果您就是發行者,在您產生參考主要 Interop 組件之前,您必須為相依型別程式庫產生主要 Interop 組件。
當相依的主要 Interop 組件安裝在目前的目錄下時,並不會發現其版本號碼與原始型別程式庫的版本號碼不同。您必須在 Windows 登錄中註冊相依的主要 Interop 組件,或使用 /reference 選項以確定 Tlbimp.exe 會尋找相依 DLL。
您還可以包裝型別程式庫的多個版本。如需相關說明,請參閱 HOW TO:包裝型別程式庫的多個版本。
範例
下列範例匯入 COM 型別程式庫 LibUtil.tlb,並使用金鑰檔 CompanyA.snk 以強式名稱簽署組件 LibUtil.dll。此範例會省略指定的命名空間名稱,以產生預設的命名空間 LibUtil。
tlbimp LibUtil.tlb /primary /keyfile:CompanyA.snk /out:LibUtil.dll
對於較多描述性的名稱而言 (使用 VendorName.LibraryName 命名指導原則),下列範例覆寫預設的組件檔名和命名空間名稱。
tlbimp LibUtil.tlb /primary /keyfile:CompanyA.snk /namespace:CompanyA.LibUtil /out:CompanyA.LibUtil.dll
下列範例會匯入參考 CompanyA.LibUtil.dll 的 MyLib.tlb,並使用金鑰檔 CompanyB.snk 以強式名稱簽署組件 CompanyB.MyLib.dll。命名空間 CompanyB.MyLib 會覆寫預設的命名空間名稱。
tlbimp MyLib.tlb /primary /keyfile:CompanyB.snk /namespace:CompanyB.MyLib /reference:CompanyA.LibUtil.dll /out:CompanyB.MyLib.dll