UnregisterAssembly 任务

注销用于 COM 互操作的指定程序集。 执行 RegisterAssembly 任务的相反任务。

参数

下表描述了 UnregisterAssembly 任务的参数。

参数 描述
Assemblies 可选 ITaskItem[] 参数。

指定要注销的程序集。
AssemblyListFile 可选 ITaskItem 参数。

包含有关 RegisterAssembly 任务和 UnregisterAssembly 任务之间状态的信息。 这样可以防止任务尝试注销无法在 RegisterAssembly 任务中注册的程序集。

如果已指定此参数,则 AssembliesTypeLibFiles 参数将被忽略。
TypeLibFiles 可选的 ITaskItem[] 输出参数。

从指定的程序集中注销指定的类型库。 注意: 只有当类型库文件名不同于程序集名称时,此参数才是必需的。

注解

此任务的成功对是否存在程序集不作要求。 如果尝试注销不存在的程序集,则该任务将成功并且出现警告。 发生这种情况是因为此任务的工作就是从注册表中删除程序集注册。 如果该程序集不存在,则它不在注册表中,因此,任务将成功完成。

除上面列出的参数外,此任务还从 AppDomainIsolatedTaskExtension 类继承参数,后者自身继承自 MarshalByRefObject 类。 MarshalByRefObject 类提供与 Task 类相同的功能,但它可以在其自己的应用程序域中进行实例化。

示例

以下示例使用 UnregisterAssembly 任务注销 OutputPathFileName 属性指定的路径处的程序集(如果存在)。

<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>

另请参阅