Compartir a través de


UnregisterAssembly (Tarea)

Elimina del Registro los ensamblados especificados para la interoperabilidad COM. Invierte la tarea RegisterAssembly.

Parámetros

En la siguiente tabla se describen los parámetros de la tarea UnregisterAssembly.

Parámetro

Descripción

Assemblies

Parámetro ITaskItem[] opcional.

Especifica los ensamblados que se eliminarán del Registro.

AssemblyListFile

Parámetro ITaskItem opcional.

Contiene información sobre el estado entre las tareas RegisterAssembly y UnregisterAssembly. De esta forma, se evita que la tarea trate de anular el registro de un ensamblado que provocó un error de registro en la tarea RegisterAssembly.

Si se especifica este parámetro, se omiten los parámetros Assemblies y TypeLibFiles.

TypeLibFiles

Parámetro de salida ITaskItem[] opcional.

Elimina del Registro la biblioteca de tipos especificada del ensamblado especificado.

NotaNota
Este parámetro sólo es necesario si el nombre de archivo de la biblioteca de tipos es diferente al nombre del ensamblado.

Comentarios

No es necesario disponer de un ensamblado para que esta tarea se realice correctamente. Si intenta eliminar del Registro un ensamblado que no existe, la tarea se realizará correctamente y se mostrará una advertencia. Esto se debe a que esta tarea se encarga de quitar el registro del ensamblado del Registro. Si el ensamblado no existe, no se encontrará en el Registro, por lo que la tarea ha conseguido su propósito.

Framework64/<versión>/UnRegisterAssemblyTask no puede resolver una biblioteca de objetos COM registrada como componentes de 32 bits. Framework/<versión>/UnRegisterAssemblyTask no puede resolver una biblioteca de objetos COM registrada como componentes de 64 bits.

Por ejemplo, si se registra una biblioteca de objetos COM llamada ClassLibrary1 como componentes de 32 bits en un equipo de 64 bits, se ejecuta Visual Studio y se cambia el destino a x64, se produce el siguiente error en la compilación:

ClassLibrary1.dll is not a valid assembly

Además de los parámetros mencionados anteriormente, esta tarea hereda los parámetros de la clase AppDomainIsolatedTaskExtension, que hereda de la clase MarshalByRefObject. La clase MarshalByRefObject proporciona la misma funcionalidad que la clase Task, pero se puede crear una instancia de esta clase en su propio dominio de aplicación.

Ejemplo

El ejemplo siguiente utiliza la tarea UnregisterAssembly para eliminar del Registro el ensamblado en la ruta de acceso especificada por las propiedades OutputPath y FileName, si existe.

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

Vea también

Referencia

RegisterAssembly (Tarea)

Conceptos

Tareas de MSBuild

Otros recursos

Referencia de tareas de MSBuild