Regasm.exe (Herramienta de registro de ensamblados)
La herramienta de registro de ensamblados lee los metadatos de un ensamblado y agrega las entradas necesarias al Registro, lo que permite a los clientes COM crear clases de .NET Framework de forma transparente. Una vez registrada una clase, cualquier cliente COM puede usarla como si se tratase de una clase COM. La clase se registra una sola vez, cuando se instala el ensamblado. Las instancias de las clases del ensamblado no se pueden crear a partir de COM si no están registradas.
Para ejecutar la herramienta, use el Símbolo del sistema para desarrolladores de Visual Studio o PowerShell de Visual Studio para desarrolladores.
Sintaxis
regasm assemblyFile [options]
Parámetros
Parámetro | Descripción |
---|---|
assemblyFile | El ensamblado que se va a registrar con COM. |
Opción | Descripción |
---|---|
/codebase |
Crea una entrada de código base en el Registro. La entrada de código base especifica la ruta de acceso del archivo de un ensamblado que no está instalado en la caché global de ensamblados. No especifique esta opción si posteriormente va a instalar el ensamblado que va a registrar en la caché global de ensamblados. Se recomienda encarecidamente que el argumento assemblyFile que especifique con la /codebase opción sea un ensamblado con nombre seguro. |
/registered |
Especifica que esta herramienta solo hará referencia a las bibliotecas de tipos que ya se hayan registrado. |
/asmpath:directory |
Especifica un directorio que contiene las referencias de ensamblado. Debe usarse con la /regfile opción . |
/nologo |
Suprime la presentación de la portada de inicio de Microsoft. |
/regfile [: regFile] |
Genera el archivo .reg especificado para el ensamblado, que contiene las entradas del Registro necesarias. El hecho de especificar esta opción no cambia el Registro. No puede usar esta opción con las /u opciones o /tlb . |
/silent o /s |
Suprime la presentación de mensajes de aprobación. |
/tlb [: typeLibFile] |
Genera una biblioteca de tipos a partir del ensamblado especificado que contiene definiciones de los tipos accesibles definidos en el ensamblado. |
/unregister o /u |
Anula el registro de las clases que se pueden crear que se encuentran en assemblyFile. Cuando se omite esta opción, Regasm.exe registra en el ensamblado las clases que se pueden crear. |
/verbose |
Especifica el modo detallado; muestra una lista de los ensamblados a los que se debe generar una biblioteca de tipos, cuando se especifica con la /tlb opción . |
/? o /help |
Muestra las opciones y la sintaxis de los comandos para la herramienta. |
Nota
Las opciones de la línea de comandos de Regasm.exe no distinguen entre mayúsculas y minúsculas. Por otra parte, basta con proporcionar parte de la opción de forma que se identifique de manera inequívoca. Por ejemplo, /n
es equivalente a /nologo
y /t: outfile.tlb
es equivalente a /tlb: outfile.tlb
.
Comentarios
Puede usar la /regfile
opción para generar un archivo .reg que contenga las entradas del Registro en lugar de realizar los cambios directamente en el registro. El Registro se puede actualizar en un equipo importando el archivo .reg con la herramienta Editor del Registro (Regedit.exe). El archivo .reg no contiene actualizaciones del registro que se puedan realizar mediante funciones de registro definidas por el usuario. La /regfile
opción solo emite entradas del Registro para las clases administradas. Esta opción no emite TypeLibID
ni InterfaceID
entradas.
Al especificar la /tlb
opción, Regasm.exe genera y registra una biblioteca de tipos que describe los tipos que se encuentran en el ensamblado. Regasm.exe coloca las bibliotecas de tipos generadas en el directorio de trabajo actual o en el directorio especificado para el archivo de salida. La generación de una biblioteca de tipos para un ensamblado que hace referencia a otros ensamblados puede provocar la generación de varias bibliotecas de tipos a la vez. Puede usar la biblioteca de tipos para proporcionar información de tipos para las herramientas de desarrollo como Visual Studio. No use la /tlb
opción si el ensamblado que está registrando ha sido generado por el importador de la biblioteca de tipos (Tlbimp.exe). No se puede exportar una biblioteca de tipos de un ensamblado que se ha importado desde una biblioteca de tipos. El uso de la /tlb
opción tiene el mismo efecto que usar el Exportador de biblioteca de tipos (Tlbexp.exe) y Regasm.exe, con la excepción de que Tlbexp.exe no registra la biblioteca de tipos que genera. Si usa la /tlb
opción para registrar una biblioteca de tipos, puede usar la opción con la /tlb
opción para anular el /unregister
registro de la biblioteca de tipos. El uso de las dos opciones juntas anulará el registro de la biblioteca de tipos y de las entradas de la interfaz, lo que puede limpiar considerablemente el Registro.
Al registrar un ensamblado para que lo use COM, Regasm.exe agrega entradas al Registro del equipo local. Más concretamente, crea claves del Registro dependientes de la versión que permiten que varias versiones del mismo ensamblado se ejecuten en paralelo en un equipo. Al registrar un ensamblado por primera vez, se crea una clave de nivel superior para el ensamblado y una subclave única para la versión específica. Cada vez que se registra una nueva versión del ensamblado, Regasm.exe crea una subclave para la nueva versión.
Por ejemplo, imagine un escenario en el que registra el componente administrado myComp.dll, versión 1.0.0.0, para que lo use COM. Posteriormente, registra myComp.dll, versión 2.0.0.0. Determina que todas las aplicaciones de cliente COM del equipo están usando myComp.dll versión 2.0.0.0 y decide anular el registro de myComponent.dll versión 1.0.0.0. Este esquema del Registro permite anular el registro de myComp.dll versión 1.0.0.0 porque solo se quita la subclave de la versión 1.0.0.0.
Después de registrar un ensamblado mediante Regasm.exe, puede instalarlo en la caché global de ensamblados para que se pueda activar desde cualquier cliente COM. Si el ensamblado solo va a activar una única una aplicación, se puede colocar en el directorio de dicha aplicación. El uso de la /codebase
opción es una alternativa al uso de la caché global de ensamblados; sin embargo, la ubicación del ensamblado durante el registro se registra globalmente y se producirá un error en la activación si se mueve el ensamblado. Si el ensamblado no se encuentra a través del sondeo, la /codebase
opción cargará el ensamblado en un contexto de carga desde el que se documentan consideraciones adicionales en Assembly.LoadFrom.
Ejemplos
El comando siguiente registra todas las clases públicas contenidas en myTest.dll
.
regasm myTest.dll
El comando siguiente genera el archivo myTest.reg
, que contiene todas las entradas del Registro necesarias. Este comando no actualiza el Registro.
regasm myTest.dll /regfile:myTest.reg
El comando siguiente registra todas las clases públicas contenidas en myTest.dll
, y genera y registra la biblioteca de tipos myTest.tlb
, que contiene definiciones de todos los tipos públicos definidos en myTest.dll
.
regasm myTest.dll /tlb:myTest.tlb