UnregisterAssembly 任务
注销用于 COM 互操作的指定程序集。 执行 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>