Compartir a través de


RegisterAssembly (Tarea)

Lee los metadatos del ensamblado especificado y agrega las entradas necesarias al Registro, lo que permite a los clientes COM crear clases de .NET Framework de forma transparente. El comportamiento de esta tarea es similar, pero no idéntico, al de Regasm.exe (Herramienta de registro de ensamblados).

Parámetros

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

Parámetro

Descripción

Assemblies

Parámetro ITaskItem[] requerido.

Especifica los ensamblados que se van a registrar con COM.

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 UnregisterAssembly trate de anular el registro de un ensamblado que no se registró en la tarea RegisterAssembly.

CreateCodeBase

Parámetro Boolean opcional.

Si es true, crea una entrada de código base en el Registro, que especifica la ruta de acceso al archivo de un ensamblado que no está instalado en la memoria caché global de ensamblados. No se debe especificar esta opción si se va a instalar posteriormente el ensamblado que se está registrando en la caché global de ensamblados.

TypeLibFiles

Parámetro de salida ITaskItem[] opcional.

Especifica la biblioteca de tipos que se generará a partir del ensamblado especificado. La biblioteca de tipos generada contiene las definiciones de los tipos accesibles definidas dentro del ensamblado. Sólo se genera la biblioteca de tipos si se cumple una de las condiciones siguientes:

  • Una biblioteca de tipos de dicho nombre no existe en esa ubicación.

  • Una biblioteca de tipos existe pero es anterior al ensamblado que se está pasando.

Si la biblioteca de tipos es más reciente que el ensamblado que se está pasando, no se creará un nuevo ensamblado, aunque se podrá registrar.

Si se especifica este parámetro, debe tener el mismo número de elementos que el parámetro Assemblies o en la tarea se producirá un error. Si no se especifica ninguna entrada, la tarea tendrá como valor predefinido el nombre del ensamblado y cambiará la extensión del elemento a .tlb.

Comentarios

Framework64/<versión>/RegisterAssemblyTask no puede resolver una biblioteca de objetos COM registrada como componentes de 32 bits. Framework/<versión>/RegisterAssemblyTask 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 TaskExtension, que hereda de la clase Task. Para obtener una lista de estos parámetros adicionales y sus descripciones, vea TaskExtension (Clase base).

Ejemplo

En el siguiente ejemplo se utiliza la tarea RegisterAssembly para generar el ensamblado especificado por la colección de elementos MyAssemblies.

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <MyAssemblies Include="MyAssembly.dll" />
    <ItemGroup>

    <Target Name="RegisterAssemblies">
        <RegisterAssembly
            Assemblies="@(MyAssemblies)" >
    </Target>

</Project>

Vea también

Conceptos

Tareas de MSBuild

Otros recursos

Referencia de tareas de MSBuild