Compartir a través de


Exportador de la biblioteca de tipos (Tlbexp.exe)

El Exportador de la biblioteca de tipos genera una biblioteca que describe los tipos definidos en un ensamblado de Common Language Runtime.

tlbexp assemblyName [/out:file] [/nologo] [/silent] [/verbose]

Parámetros

Argumento Descripción

assemblyName

Ensamblado para el que se exporta una biblioteca de tipos.

Opción Descripción

/asmpath: directory

Especifica la ubicación para buscar los ensamblados. 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, incluyendo el directorio actual.

Cuando utiliza la opción asmpath, el Exportador de la biblioteca de tipos no buscará un ensamblado en la caché de ensamblados global (GAC).

/help

Muestra la sintaxis de comandos y opciones para la herramienta.

/names: filename

Especifica el uso de mayúsculas y minúsculas en los nombres de una biblioteca de tipos. El argumento filename es un archivo de texto. Cada línea del archivo especifica el uso de mayúsculas y minúsculas en un nombre de la biblioteca de tipos.

/nologo

Suprime la presentación de la portada de inicio de Microsoft.

/oldnames

Obliga a Tlbexp.exe a exportar los nombres de los tipos representativos si existe un conflicto de nombres de tipos. Tenga en cuenta que éste era el comportamiento predeterminado en versiones anteriores a la versión 2.0 de .NET Framework.

/out: file

Especifica el nombre del archivo de biblioteca de tipos que se genera. 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.

/silent

Suprime la presentación de mensajes de aprobación.

/tlbreference: typelibraryname

Obliga a Tlbexp.exe a resolver de forma explícita las referencias a bibliotecas de tipos sin consultar el Registro. 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. 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.

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, a continuación, es implementada por otro tipo.

/tlbrefpath: path

Ruta de acceso completa a una biblioteca de tipos a la que se hace referencia.

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

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

/verbose

Especifica el modo detallado; muestra una lista de los ensamblados relacionados para los que es necesario generar una biblioteca de tipos.

/?

Muestra la sintaxis de comandos y opciones para la herramienta.

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. Por otra parte, basta con especificar parte de la opción para identificarla de manera única. Por ejemplo, /n equivale a /nologo y /o:outfile.tlb equivale a /out:outfile.tlb.

Comentarios

Tlbexp.exe genera una biblioteca de tipos que contiene definiciones de los tipos definidos en el ensamblado. Las aplicaciones como Visual Basic 6.0 pueden utilizar la biblioteca de tipos generada para enlazarla con los tipos de .NET definidos en el ensamblado.

Todo el ensamblado se convierte de una vez. No se puede utilizar Tlbexp.exe para generar información de tipos correspondiente a un subconjunto de los tipos definidos en un ensamblado.

No se puede utilizar Tlbexp.exe para generar una biblioteca de tipos desde un ensamblado que se importó utilizando la herramienta Importador de la biblioteca de tipos (Tlbimp.exe). En su lugar, se debe hacer referencia a la biblioteca de tipos original que se importó con Tlbimp.exe. Se puede exportar una biblioteca de tipos desde un ensamblado que hace referencia a ensamblados que se importaron con Tlbimp.exe. Vea la sección de ejemplos más adelante.

Tlbexp.exe coloca las bibliotecas de tipos generadas en el directorio de trabajo actual o en el directorio especificado para el archivo de resultados. Un solo ensamblado puede producir la generación de varias bibliotecas de tipos.

Tlbexp.exe genera una biblioteca de tipos pero no la registra, a diferencia de la herramienta Registro de ensamblados (Regasm.exe) que genera y registra una biblioteca de tipos. Para generar y registrar una biblioteca de tipos con COM se ha de utilizar 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). 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. En las bibliotecas de tipos de 32 bits, el valor SYSKIND se establece como SYS_WIN32. En las bibliotecas de tipos de 64 bits, el valor SYSKIND se establece como SYS_WIN64. Todas las transformaciones de tipos de datos (por ejemplo, los tipos de datos con el tamaño del puntero, como IntPtr y UIntPtr) se convierten correctamente.

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. Por ejemplo, dadas las siguientes firmas:

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

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

Observe que Tlbexp.exe omite el campo SafeArrayUserDefinedSubType.

Como las bibliotecas de tipos no pueden alojar toda la información que se encuentra en ensamblados, Tlbexp.exe puede desechar algunos datos durante el proceso de exportación. 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.

Observe 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. Exportador de la biblioteca de tipos (Tlbexp.exe)Cuando se exporten métodos que tienen parámetros TypedReference, el Exportador de la biblioteca de tipos no generará una advertencia o un error, y el código no administrado que utiliza la biblioteca de tipos resultante no se ejecutará correctamente.

El Exportador de la biblioteca de tipos se admite en Microsoft Windows 2000 y posterior.

Ejemplos

El comando siguiente genera una biblioteca de tipos con el mismo nombre que el ensamblado que se encuentra en myTest.dll.

tlbexp myTest.dll

El comando siguiente genera una biblioteca de tipos con el nombre clipper.tlb.

tlbexp myTest.dll /out:clipper.tlb

El ejemplo siguiente muestra la utilización de Tlbexp.exe para exportar una biblioteca de tipos desde un ensamblado que hace referencia a ensamblados que se importaron con Tlbimp.exe.

Primero se utiliza Tlbimp.exe para importar la biblioteca de tipos myLib.tlb y guardarla como 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.

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.

tlbexp Sample.dll

Vea también

Referencia

TypeLibExporterFlags Enumeration
Herramientas de .NET Framework
Herramienta Registro de ensamblados (Regasm.exe)
Importador de la biblioteca de tipos (TlbImp.exe)
Símbolo del sistema de SDK

Otros recursos

Resumen de la conversión de ensamblados en bibliotecas de tipos