Tlbexp.exe (Exportador de la biblioteca de tipos)Tlbexp.exe (Type Library Exporter)

El Exportador de la biblioteca de tipos genera una biblioteca que describe los tipos definidos en un ensamblado de Common Language Runtime.The Type Library Exporter generates a type library that describes the types defined in a common language runtime assembly.

Esta herramienta se instala automáticamente con Visual Studio.This tool is automatically installed with Visual Studio. Para ejecutar la herramienta, use Símbolo del sistema para desarrolladores de Visual Studio (o Símbolo del sistema de Visual Studio en Windows 7).To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). 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

tlbexp assemblyName [options]  

ParámetrosParameters

ArgumentoArgument DescripciónDescription
assemblyNameassemblyName Ensamblado para el que se exporta una biblioteca de tipos.The assembly for which to export a type library.
OpciónOption DescripciónDescription
/asmpath: directorio/asmpath: directory Especifica la ubicación en la que buscar los ensamblados.Specifies the location to search for assemblies. Si utiliza esta opción, debe especificar de forma explícita las ubicaciones en las que desea buscar los ensamblados a los que se hace referencia, incluido el directorio actual.If you use this option, you must explicitly specify the locations to search for referenced assemblies, including the current directory.

Cuando se usa la opción asmpath, el Exportador de la biblioteca de tipos no busca ensamblados en la caché global de ensamblados (GAC).When you use the asmpath option, the Type Library Exporter will not look for an assembly in the global assembly cache (GAC).
/help/help Muestra las opciones y la sintaxis de los comandos para la herramienta.Displays command syntax and options for the tool.
/names: nombreDeArchivo/names: filename Especifica el uso de mayúsculas y minúsculas en los nombres de una biblioteca de tipos.Specifies the capitalization of names in a type library. El argumento nombreDeArchivo es un archivo de texto.The filename argument is a text file. Cada línea del archivo especifica el uso de mayúsculas y minúsculas en un nombre de la biblioteca de tipos.Each line in the file specifies the capitalization of one name in the type library.
/nologo/nologo Suprime la presentación de la portada de inicio de Microsoft.Suppresses the Microsoft startup banner display.
/oldnames/oldnames Fuerza a Tlbexp.exe a exportar los nombres de los tipos representativos si existe un conflicto de nombres de tipos.Forces Tlbexp.exe to export decorated type names if there is a type name conflict. Tenga en cuenta que este era el comportamiento predeterminado en versiones anteriores a la versión 2.0 de .NET Framework.Note that this was the default behavior in versions prior to the .NET Framework version 2.0.
/out: archivo/out: file Especifica el nombre del archivo de biblioteca de tipos que se genera.Specifies the name of the type library file to generate. Si se omite esta opción, Tlbexp.exe genera una biblioteca de tipos con el mismo nombre que el ensamblado (el nombre real del ensamblado, que no tiene por qué coincidir necesariamente con el del archivo que lo contiene) y una extensión .tlb.If you omit this option, Tlbexp.exe generates a type library with the same name as the assembly (the actual assembly name, which might not necessarily be the same as the file containing the assembly) and a .tlb extension.
/silence: warningnumber/silence: warningnumber Suprime la presentación de la advertencia especificada.Suppresses the display of the specified warning. Esta opción no se puede utilizar con la opción /silent.This option cannot be used with /silent.
/silent/silent Suprime la presentación de mensajes de aprobación.Suppresses the display of success messages. Esta opción no se puede utilizar con la opción /silence.This option cannot be used with /silence.
/tlbreference: nombreDeBibliotecaDeTipos/tlbreference: typelibraryname Fuerza a Tlbexp.exe a resolver de forma explícita las referencias a bibliotecas de tipos sin consultar el Registro.Forces Tlbexp.exe to explicitly resolve type library references without consulting the registry. Por ejemplo, si el ensamblado B hace referencia al ensamblado A, puede utilizar esta opción para proporcionar una referencia explícita a la biblioteca de tipos, en lugar de confiar en la biblioteca de tipos especificada en el Registro.For example, if assembly B references assembly A, you can use this option to provide an explicit type library reference, rather than relying on the type library specified in the registry. Tlbexp.exe realiza una comprobación de la versión para asegurarse de que la versión de la biblioteca de tipos coincide con la del ensamblado; de lo contrario, genera un error.Tlbexp.exe performs a version check to ensure that the type library version matches the assembly version; otherwise, it generates an error.

Observe que la opción tlbreference sigue consultado el Registro en los casos en los que se aplica el atributo ComImportAttribute a una interfaz que otro tipo implementa posteriormente.Note that the tlbreference option still consults the registry in cases where the ComImportAttribute attribute is applied to an interface that is then implemented by another type.
/tlbrefpath: rutaDeAcceso/tlbrefpath: path Ruta de acceso completa a una biblioteca de tipos a la que se hace referencia.Fully qualified path to a referenced type library.
/win32/win32 Al realizar la compilación en un equipo de 64 bits, esta opción especifica que Tlbexp.exe debe generar una biblioteca de tipos de 32 bits.When compiling on a 64-bit computer, this option specifies that Tlbexp.exe generates a 32-bit type library.
/win64/win64 Al realizar la compilación en un equipo de 32 bits, esta opción especifica que Tlbexp.exe debe generar una biblioteca de tipos de 64 bits.When compiling on a 32-bit computer, this option specifies that Tlbexp.exe generates a 64-bit type library.
/verbose/verbose Especifica el modo detallado; muestra una lista de los ensamblados relacionados 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.
/?/? 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 Tlbexp.exe no distinguen entre mayúsculas y minúsculas, y se pueden proporcionar en cualquier orden.The command-line options for Tlbexp.exe are case-insensitive and can be supplied in any order. Por otra parte, basta con especificar parte de la opción de forma que se identifique de manera inequívoca.You only need to specify enough of the option to uniquely identify it. Por ejemplo, /n equivale a /nologo y /o: outfile.tlb, a /out: outfile.tlb.For example, /n is equivalent to /nologo, and /o: outfile.tlb is equivalent to /out: outfile.tlb.

ComentariosRemarks

Tlbexp.exe genera una biblioteca de tipos que contiene las definiciones de los tipos definidos en el ensamblado.Tlbexp.exe generates a type library that contains definitions of the types defined in the assembly. Las aplicaciones como Visual Basic 6.0 pueden utilizar la biblioteca de tipos generada para enlazarla a los tipos de .NET definidos en el ensamblado.Applications such as Visual Basic 6.0 can use the generated type library to bind to the .NET types defined in the assembly.

Importante

No puede utilizar Tlbexp.exe para exportar archivos de metadatos de Windows (.winmd).You cannot use Tlbexp.exe to export Windows metadata (.winmd) files. No se admite la exportación de ensamblados de Windows en tiempo de ejecución.Exporting Windows Runtime assemblies is not supported.

Todo el ensamblado se convierte de una vez.The entire assembly is converted at once. No se puede utilizar Tlbexp.exe para generar información de tipos correspondiente a un subconjunto de los tipos definidos en un ensamblado.You cannot use Tlbexp.exe to generate type information for a subset of the types defined in an assembly.

No se puede usar Tlbexp.exe para generar una biblioteca de tipos desde un ensamblado importado mediante el Importador de la biblioteca de tipos (Tlbimp.exe).You cannot use Tlbexp.exe to produce a type library from an assembly that was imported using the Type Library Importer (Tlbimp.exe). En su lugar, debe hacer referencia a la biblioteca de tipos original que se importó con Tlbimp.exe.Instead, you should refer to the original type library that was imported with Tlbimp.exe. Puede exportar una biblioteca de tipos de un ensamblado que haga referencia a los ensamblados que se importaron mediante Tlbimp.exe.You can export a type library from an assembly that references assemblies that were imported using Tlbimp.exe. Consulte los ejemplos en la sección siguiente.See the examples section below.

Tlbexp.exe coloca las bibliotecas de tipos generadas en el directorio de trabajo actual o en el directorio especificado para el archivo de salida.Tlbexp.exe places generated type libraries in the current working directory or the directory specified for the output file. Un solo ensamblado puede generar varias bibliotecas de tipos.A single assembly might cause several type libraries to be generated.

Tlbexp.exe genera una biblioteca de tipos pero no la registra,Tlbexp.exe generates a type library but does not register it. a diferencia de la herramienta Registro de ensamblados (Regasm.exe) que genera y registra una biblioteca de tipos.This is in contrast to the Assembly Registration tool (Regasm.exe), which both generates and registers a type library. Para generar y registrar una biblioteca de tipos con COM, utilice Regasm.exe.To generate and register a type library with COM, use Regasm.exe.

Si no especifica ni la opción /win32 ni la opción /win64, Tlbexp.exe genera una biblioteca de tipos de 32 o de 64 bits, dependiendo del tipo de equipo en el que se está realizando la compilación (equipo de 32 bits o de 64 bits).If you do not specify either the /win32 or /win64 option, Tlbexp.exe generates a 32-bit or 64-bit type library that corresponds to the type of computer on which you are performing the compilation (32-bit or 64-bit computer). Si desea realizar la compilación en diferentes plataformas, puede utilizar la opción /win64 en un equipo de 32 bits para generar una biblioteca de tipos de 64 bits y la opción /win32 en un equipo de 64 bits para generar una biblioteca de tipos de 32 bits.For cross-compilation purposes, you can use the /win64 option on a 32-bit computer to generate a 64-bit type library and you can use the /win32 option on a 64-bit computer to generate a 32-bit type library. En las bibliotecas de tipos de 32 bits, el valor SYSKIND se establece en SYS_WIN32.In 32-bit type libraries, the SYSKIND value is set to SYS_WIN32. En las bibliotecas de tipos de 64 bits, el valor SYSKIND se establece en SYS_WIN64.In 64-bit type libraries, the SYSKIND value is set to SYS_WIN64. Todas las transformaciones de tipos de datos (por ejemplo, los tipos de datos de tamaño de puntero, como IntPtr y UIntPtr) se convierten correctamente.All data type transformations (for example, pointer-sized data types such as IntPtr and UIntPtr) are converted appropriately.

Si utiliza el atributo MarshalAsAttribute para especificar un valor SafeArraySubType de VT_UNKOWN o VT_DISPATCH, Tlbexp.exe omite cualquier uso subsiguiente del campo SafeArrayUserDefinedSubType.If you use the MarshalAsAttribute attribute to specify a SafeArraySubType value of VT_UNKOWN or VT_DISPATCH, Tlbexp.exe ignores any subsequent use of the SafeArrayUserDefinedSubType field. Por ejemplo, dadas las siguientes signaturas:For example, given the following signatures:

[return:MarshalAs(UnmanagedType.SafeArray, SafeArraySubType=VarEnum.VT_UNKNOWN, SafeArrayUserDefinedSubType=typeof(ConsoleKeyInfo))] public Array StructUnkSafe(){return null;}  
[return:MarshalAs(UnmanagedType.SafeArray, SafeArraySubType=VarEnum.VT_DISPATCH, SafeArrayUserDefinedSubType=typeof(ConsoleKeyInfo))] public Array StructDispSafe(){return null;}  

se genera la biblioteca de tipos siguiente:the following type library is generated:

[id(0x60020004)]  
HRESULT StructUnkSafe([out, retval] SAFEARRAY(IUnknown*)* pRetVal);  
[id(0x60020005)]  
HRESULT StructDispSafe([out, retval] SAFEARRAY(IDispatch*)* pRetVal);  

Tenga en cuenta que Tlbexp.exe omite el campo SafeArrayUserDefinedSubType.Note that Tlbexp.exe ignores the SafeArrayUserDefinedSubType field.

Como las bibliotecas de tipos no pueden dar cabida a toda la información que se encuentra en los ensamblados, Tlbexp.exe descarta algunos datos durante el proceso de exportación.Because type libraries cannot accommodate all the information found in assemblies, Tlbexp.exe might discard some data during the export process. Para obtener una explicación del proceso de transformación y de la identificación del origen de cada sección de información que se emite a una biblioteca de tipos, vea el Resumen de la conversión de ensamblados en bibliotecas de tipos.For an explanation of the transformation process and identification of the source of each piece of information emitted to a type library, see the Assembly to Type Library Conversion Summary.

Tenga en cuenta que el Exportador de la biblioteca de tipos exporta métodos que tienen parámetros TypedReference como VARIANT, incluso si el objeto TypedReference no tiene ningún significado en el código no administrado.Note that the Type Library Exporter exports methods that have TypedReference parameters as VARIANT, even though the TypedReference object has no meaning in unmanaged code. Cuando se exportan métodos que tengan parámetros TypedReference, el Exportador de la biblioteca de tipos no genera ninguna advertencia ni error, y el código no administrado que utiliza la biblioteca de tipos resultante no se ejecuta correctamente.When you export methods that have TypedReference parameters, the Type Library Exporter will not generate a warning or error and unmanaged code that uses the resulting type library will not run properly.

El Exportador de la biblioteca de tipos se admite en Microsoft Windows 2000 y versiones posteriores.The Type Library Exporter is supported on Microsoft Windows 2000 and later.

EjemplosExamples

El comando siguiente genera una biblioteca de tipos con el mismo nombre que el ensamblado que se encuentra en myTest.dll.The following command generates a type library with the same name as the assembly found in myTest.dll.

tlbexp myTest.dll  

El comando siguiente genera una biblioteca de tipos con el nombre clipper.tlb.The following command generates a type library with the name clipper.tlb.

tlbexp myTest.dll /out:clipper.tlb  

El ejemplo siguiente muestra el uso de Tlbexp.exe para exportar una biblioteca de tipos desde un ensamblado que hace referencia a ensamblados que se importaron con Tlbimp.exe.The following example illustrates using Tlbexp.exe to export a type library from an assembly that references assemblies that were imported using Tlbimp.exe.

Primero se utiliza Tlbimp.exe para importar la biblioteca de tipos myLib.tlb y guardarla como myLib.dll.First use Tlbimp.exe to import the type library myLib.tlb and save it as myLib.dll.

tlbimp myLib.tlb /out:myLib.dll  

En el siguiente comando se usa el compilador de C# para compilar el archivo Sample.dll, que hace referencia al archivo myLib.dll creado en el ejemplo anterior.The following command uses the C# compiler to compile the Sample.dll, which references myLib.dll created in the previous example.

CSC Sample.cs /reference:myLib.dll /out:Sample.dll  

El comando siguiente genera una biblioteca de tipos para Sample.dll que hace referencia a myLib.dll.The following command generates a type library for Sample.dll that references myLib.dll.

tlbexp Sample.dll  

Vea tambiénSee also