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>