Partilhar via


Tarefa de UnregisterAssembly

Cancela o registro as montagens especificadas para fins de interoperabilidade COM. Executa o inverso da RegisterAssembly tarefa.

Parâmetros

A tabela a seguir descreve os parâmetros da UnregisterAssembly de tarefas.

Parâmetro

Descrição

Assemblies

Opcional ITaskItem[] parâmetro.

Especifica os assemblies a ser cancelado.

AssemblyListFile

Opcional ITaskItem parâmetro.

Contém informações sobre o estado entre a RegisterAssembly tarefa e o UnregisterAssembly de tarefas. Isso impede que a tarefa tentar cancelar o registro de um assembly que falhou ao se registrar na RegisterAssembly de tarefas.

Se este parâmetro for especificado, o Assemblies e TypeLibFiles parâmetros serão ignorados.

TypeLibFiles

Opcional ITaskItem[] parâmetro de saída.

Cancela o registro da biblioteca de tipos especificada do assembly especificado.

Observação

Este parâmetro só é necessário se o nome de arquivo da biblioteca de tipos é diferente do nome do assembly.

Comentários

Não é necessário que o assembly existe para essa tarefa seja bem-sucedido. Se você tentar cancelar o registro de um assembly que não existe, a tarefa terá êxito com um aviso. Isso ocorre porque é o trabalho dessa tarefa para remover o registro do assembly do registro. Se o assembly não existir, não está no registro e, portanto, a tarefa foi bem-sucedida.

Framework64 / <version> / UnRegisterAssemblyTask não é possível resolver uma biblioteca de objetos de COM registrados como componentes de 32 bits. Estrutura / <version> / UnRegisterAssemblyTask não é possível resolver uma biblioteca de objetos de COM registrados como componentes de 64 bits.

Por exemplo, se você registrar uma biblioteca de objetos COM, denominado ClassLibrary1 como componentes de 32 bits em uma máquina de 64 bits, execute o Visual Studio e alterar o destino para x64, a compilação falhará com o seguinte erro:

ClassLibrary1.dll is not a valid assembly

Além de para os parâmetros listados acima, esta tarefa herda os parâmetros da AppDomainIsolatedTaskExtension , a própria classe herda o MarshalByRefObject classe. O MarshalByRefObject classe fornece a mesma funcionalidade que o Task classe, mas ele pode ser instanciado no seu próprio domínio de aplicativo.

Exemplo

O exemplo a seguir usa a UnregisterAssembly a tarefa para cancelar o registro do assembly no caminho especificado pelo OutputPath e FileName Propriedades, se ele existir.

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

Consulte também

Referência

RegisterAssembly tarefas

Conceitos

Tarefas do MSBuild

Outros recursos

Referência de tarefa do MSBuild