UnregisterAssembly 工作
針對 COM Interop 用途將指定的組件取消註冊。 與 RegisterAssembly 工作執行的方式相反。
參數
下表說明 UnregisterAssembly
工作的參數。
參數 | 描述 |
---|---|
Assemblies |
選擇性的 ITaskItem[] 參數。指定要取消註冊的組件。 |
AssemblyListFile |
選擇性的 ITaskItem 參數。 包含 RegisterAssembly 工作與 UnregisterAssembly 工作之間狀態的相關資訊。 如此可防止工作嘗試取消註冊無法在 RegisterAssembly 工作中註冊的組件。如果已指定此參數,則會忽略 Assemblies 和 TypeLibFiles 參數。 |
TypeLibFiles |
選擇性的 ITaskItem[] 輸出參數。從指定的組件中取消註冊指定的類型程式庫。 注意:只有在類型程式庫檔案名稱與組件名稱不同時才需要此參數。 |
備註
此工作的成功不一定需要組件存在。 如果您嘗試取消註冊不存在的組件,工作將會完成並隨附警告。 這是因為此工作作業的目的是從登錄中移除組件註冊。 如果組件並不存在,就不存在於登錄中,因此工作就會成功。
除了上述所列的參數,此項工作還會繼承 AppDomainIsolatedTaskExtension 類別中的參數,而該類別本身又繼承 MarshalByRefObject 類別。 MarshalByRefObject
類別提供與 Task 類別相同的功能,但可以在其專屬應用程式定義域中進行具現化。
範例
下列範例會使用 UnregisterAssembly
工作來將 OutputPath
和 FileName
屬性所指定之路徑中的組件取消註冊 (如果存在的話)。
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OutputPath>\Output\</OutputPath>
<FileName>MyFile.dll</FileName>
</PropertyGroup>
<Target Name="UnregisterAssemblies">
<UnregisterAssembly
Condition="Exists('$(OutputPath)$(FileName)')"
Assemblies="$(OutputPath)$(FileName)" />
</Target>
</Project>