RegisterAssembly 工作
讀取所指定組件內的中繼資料,並將必要的項目加入至登錄,這樣可讓 COM 用戶端透明地建立 .NET Framework 類別。 此工作的行為和 Regasm.exe (組件登錄工具) 很類似,但不是完全相同。
參數
下表說明 RegisterAssembly
工作的參數。
參數 | 描述 |
---|---|
Assemblies |
必要的 ITaskItem[] 參數。指定要向 COM 註冊的組件。 |
AssemblyListFile |
選擇性的 ITaskItem 參數。 包含 RegisterAssembly 工作與 UnregisterAssembly 工作之間狀態的相關資訊。 此資訊可防止 UnregisterAssembly 工作嘗試取消註冊無法在 RegisterAssembly 工作中註冊的組件。 |
CreateCodeBase |
選擇性的 Boolean 參數。如果為 true ,則會建立程式碼基底項目,以指定未安裝於全域組件快取中之組件的檔案路徑。 如果您將接著安裝要在全域組件快取中註冊的組件,則不應該指定這個選項。 |
TypeLibFiles |
選擇性的 ITaskItem[] 輸出參數。指定要從指定組件產生的類型程式庫。 產生的類型程式庫包含組件內所定義的可存取類型定義。 只有在下列其中一項條件成立時,才會產生類型程式庫︰ - 該位置沒有那個名稱的類型程式庫存在時。 - 有類型程式庫存在,但比傳入的組件還舊。 如果類型程式庫比傳入的組件還新,則不會建立新的類型程式庫,但仍會註冊該組件。 如果指定此參數,它必須要有相同數目的項目做為 Assemblies 參數,否則工作將會失敗。 如果沒有指定輸入,該工作將預設為該組件的名稱,並將項目的副檔名變更為 .tlb。 |
備註
除了上述所列的參數,此項工作還會繼承 TaskExtension 類別中的參數,而該類別本身又繼承 Task 類別。 如需這些其他參數的清單及其描述,請參閱 TaskExtension 基底類別。
範例
下列範例會使用 RegisterAssembly
工作來註冊 MyAssemblies
項目集合所指定的組件。
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<MyAssemblies Include="MyAssembly.dll" />
<ItemGroup>
<Target Name="RegisterAssemblies">
<RegisterAssembly
Assemblies="@(MyAssemblies)" >
</Target>
</Project>