UnregisterAssembly 任务
注销用于 COM 互操作 的指定程序集。执行 RegisterAssembly 任务的反向操作。
参数
下表描述了 UnregisterAssembly 任务的参数。
Parameter |
说明 |
---|---|
Assemblies |
可选 ITaskItem[] 参数。 指定要注销的程序集。 |
AssemblyListFile |
可选 ITaskItem 参数。 包含关于 RegisterAssembly 任务和 UnregisterAssembly 任务之间的状态的信息。这样可以防止该任务尝试注销未能在 RegisterAssembly 任务中注册的程序集。 如果指定此参数,则忽略 Assemblies 和 TypeLibFiles 参数。 |
TypeLibFiles |
可选 ITaskItem[] 输出参数。 从指定程序集中注销指定的类型库。
说明
只有在类型库文件名与程序集名称不同时,此参数才是必需的。
|
备注
无需程序集存在,此任务也能成功完成。如果尝试注销不存在的程序集,此任务也将成功完成,但会出现一个警告。这是因为此任务的作用是从注册表中移除程序集的注册信息。如果程序集不存在,就不会出现在注册表中,因此,任务成功。
除了上面列出的参数,此任务还将从 AppDomainIsolatedTaskExtension 类继承参数,此类本身从 MarshalByRefObject 类继承。MarshalByRefObject 类提供与 Task 类相同的功能,但可以在其自己的应用程序域中进行实例化。
示例
下面的示例使用 UnregisterAssembly 任务注销 OutputPath 和 FileName 属性指定的路径中的程序集(如果存在)。
<Project xmlns="https://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>