Regasm.exe (Herramienta de registro de ensamblados)Regasm.exe (Assembly Registration Tool)

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.The Assembly Registration tool reads the metadata within an assembly and adds the necessary entries to the registry, which allows COM clients to create .NET Framework classes transparently. Una vez registrada una clase, cualquier cliente COM puede usarla como si se tratase de una clase COM.Once a class is registered, any COM client can use it as though the class were a COM class. La clase se registra una sola vez, cuando se instala el ensamblado.The class is registered only once, when the assembly is installed. Las instancias de las clases del ensamblado no se pueden crear a partir de COM si no están registradas.Instances of classes within the assembly cannot be created from COM until they are actually registered.

Para ejecutar la herramienta, use el Símbolo del sistema para desarrolladores de Visual Studio.To run the tool, use the Developer Command Prompt for Visual Studio. Para más información, consulte Símbolos del sistema.For more information, see Command Prompts.

En el símbolo del sistema, escriba lo siguiente:At the command prompt, type the following:

SintaxisSyntax

regasm assemblyFile [options]

ParámetrosParameters

ParámetroParameter DESCRIPCIÓNDescription
assemblyFileassemblyFile El ensamblado que se va a registrar con COM.The assembly to be registered with COM.
OpciónOption DESCRIPCIÓNDescription
/codebase/codebase Crea una entrada de código base en el Registro.Creates a Codebase entry in the registry. La entrada de código base especifica la ruta de acceso de archivo de un ensamblado que no está instalado en la caché global de ensamblados.The Codebase entry specifies the file path for an assembly that is not installed in the global assembly cache. No debe especificar esta opción si posteriormente va a instalar el ensamblado que va a registrar en la caché global de ensamblados.You should not specify this option if you will subsequently install the assembly that you are registering into the global assembly cache. El argumento assemblyFile especificado con la opción /codebase debe ser un ensamblado con nombre seguro.The assemblyFile argument that you specify with the /codebase option must be a strong-named assembly.
/registered/registered Especifica que esta herramienta solo hará referencia a las bibliotecas de tipos que ya se hayan registrado.Specifies that this tool will only refer to type libraries that have already been registered.
/asmpath:directory/asmpath:directory Especifica un directorio que contiene las referencias de ensamblado.Specifies a directory containing assembly references. Se debe usar con la opción /regfile.Must be used with the /regfile option.
/nologo/nologo Suprime la presentación de la portada de inicio de Microsoft.Suppresses the Microsoft startup banner display.
/regfile [ : regFile]/regfile [: regFile] Genera el archivo .reg especificado para el ensamblado, que contiene las entradas del Registro necesarias.Generates the specified .reg file for the assembly, which contains the needed registry entries. El hecho de especificar esta opción no cambia el Registro.Specifying this option does not change the registry. No se puede usar esta opción con las opciones /u o /tlb.You cannot use this option with the /u or /tlb options.
/silent o /s/silent or /s Suprime la presentación de mensajes de aprobación.Suppresses the display of success messages.
/tlb [ : typeLibFile]/tlb [: typeLibFile] Genera una biblioteca de tipos a partir del ensamblado especificado que contiene definiciones de los tipos accesibles definidos en el ensamblado.Generates a type library from the specified assembly containing definitions of the accessible types defined within the assembly.
/unregister o /u/unregister or /u Anula el registro de las clases que se pueden crear que se encuentran en assemblyFile.Unregisters the creatable classes found in assemblyFile. Cuando se omite esta opción, Regasm.exe registra en el ensamblado las clases que se pueden crear.Omitting this option causes Regasm.exe to register the creatable classes in the assembly.
/verbose/verbose Especifica el modo detallado; cuando se especifica con la opción /tlb, muestra una lista de los ensamblados a los que se hace referencia para los que es necesario generar una biblioteca de tipos.Specifies verbose mode; displays a list of any referenced assemblies for which a type library needs to be generated, when specified with the /tlb option.
/?/? o /helpor /help Muestra las opciones y la sintaxis de los comandos para la herramienta.Displays command syntax and options for the tool.

Nota

Las opciones de la línea de comandos de Regasm.exe no distinguen entre mayúsculas y minúsculas.The Regasm.exe command-line options are case insensitive. Por otra parte, basta con proporcionar parte de la opción de forma que se identifique de manera inequívoca.You only need to provide enough of the option to uniquely identify it. Por ejemplo, /n equivale a /nologo y /t: outfile.tlb, a /tlb: outfile.tlb.For example, /n is equivalent to /nologo and /t: outfile.tlb is equivalent to /tlb: outfile.tlb.

ComentariosRemarks

Puede usar la opción /regfile para generar un archivo .reg que contenga las entradas del Registro en lugar de hacer los cambios en el Registro directamente.You can use the /regfile option to generate a .reg file that contains the registry entries instead of making the changes directly to the registry. El Registro se puede actualizar en un equipo importando el archivo .reg con la herramienta Editor del Registro (Regedit.exe).You can update the registry on a computer by importing the .reg file with the Registry Editor tool (Regedit.exe). Tenga en cuenta que el archivo .reg no contiene actualizaciones del Registro que se puedan realizar mediante funciones de registro definidas por el usuario.Note that the .reg file does not contain any registry updates that can be made by user-defined register functions. Tenga en cuenta que la opción /regfile solo emite entradas del Registro para clases administradas.Note that the /regfile option only emits registry entries for managed classes. Esta opción no emite entradas del Registro para TypeLibID ni InterfaceID.This option does not emit entries for TypeLibIDs or InterfaceIDs.

Cuando se especifica la opción /tlb, Regasm.exe genera y registra una biblioteca de tipos donde se describen los tipos encontrados en el ensamblado.When you specify the /tlb option, Regasm.exe generates and registers a type library describing the types found in the assembly. Regasm.exe coloca las bibliotecas de tipos generadas en el directorio de trabajo actual o en el directorio especificado para el archivo de salida.Regasm.exe places the generated type libraries in the current working directory or the directory specified for the output file. 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.Generating a type library for an assembly that references other assemblies may cause several type libraries to be generated at once. Puede usar la biblioteca de tipos para proporcionar información de tipos para las herramientas de desarrollo como Visual Studio.You can use the type library to provide type information to development tools like Visual Studio. No se debe usar la opción /tlb si el ensamblado que se va a registrar lo ha generado la herramienta Importador de la biblioteca de tipos (Tlbimp.exe).You should not use the /tlb option if the assembly you are registering was produced by the Type Library Importer (Tlbimp.exe). No se puede exportar una biblioteca de tipos de un ensamblado que se ha importado desde una biblioteca de tipos.You cannot export a type library from an assembly that was imported from a type library. El uso de la opción /tlb tiene el mismo efecto que el uso de las herramientas Exportador de la biblioteca de tipos (Tlbexp.exe) y Regasm.exe, con la particularidad de que Tlbexp.exe no registra la biblioteca de tipos que genera.Using the /tlb option has the same effect as using the Type Library Exporter (Tlbexp.exe) and Regasm.exe, with the exception that Tlbexp.exe does not register the type library it produces. Si usa la opción /tlb para registrar una biblioteca de tipos, puede usar la opción /tlb con la opción /unregister para anular el registro de la biblioteca de tipos.If you use the /tlb option to registered a type library, you can use /tlb option with the /unregister option to unregistered the type library. 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.Using the two options together will unregister the type library and interface entries, which can clean the registry considerably.

Al registrar un ensamblado para que lo use COM, Regasm.exe agrega entradas al Registro del equipo local.When you register an assembly for use by COM, Regasm.exe adds entries to the registry on the local computer. 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.More specifically, it creates version-dependent registry keys that allow multiple versions of the same assembly to run side by side on a computer. 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.The first time an assembly is registered, one top-level key is created for the assembly and a unique subkey is created for the specific version. Cada vez que se registra una nueva versión del ensamblado, Regasm.exe crea una subclave para la nueva versión.Each time you register a new version of the assembly, Regasm.exe creates a subkey for the new version.

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.For example, consider a scenario where you register the managed component, myComp.dll, version 1.0.0.0 for use by COM. Posteriormente, registra myComp.dll, versión 2.0.0.0.Later, you register myComp.dll, version 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.You determine that all COM client applications on the computer are using myComp.dll version 2.0.0.0 and you decide to unregister myComponent.dll version 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.This registry scheme allows you to unregister myComp.dll version 1.0.0.0 because only the version 1.0.0.0 subkey is removed.

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.After registering an assembly using Regasm.exe, you can install it in the global assembly cache so that it can be activated from any COM client. Si el ensamblado solo va a activar una única una aplicación, se puede colocar en el directorio de dicha aplicación.If the assembly is only going to be activated by a single application, you can place it in that application's directory.

EjemplosExamples

El comando siguiente registra todas las clases públicas contenidas en myTest.dll.The following command registers all public classes contained in myTest.dll.

regasm myTest.dll

El comando siguiente genera el archivo myTest.reg, que contiene todas las entradas del Registro necesarias.The following command generates the file myTest.reg, which contains all the necessary registry entries. Este comando no actualiza el Registro.This command does not update the registry.

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.The following command registers all public classes contained in myTest.dll, and generates and registers the type library myTest.tlb, which contains definitions of all the public types defined in myTest.dll.

regasm myTest.dll /tlb:myTest.tlb

Vea tambiénSee also