TlbImp.exe (Importador de la biblioteca de tipos)
Esta herramienta convierte las definiciones de tipos encontradas en una biblioteca de tipos COM en las definiciones equivalentes en un ensamblado de Common Language Runtime. El resultado de Tlbimp.exe es un archivo binario (un ensamblado) que contiene los metadatos para los tipos definidos en la biblioteca de tipos original. Este archivo se puede examinar con herramientas como Ildasm.exe.
Esta herramienta se instala automáticamente con Visual Studio y con el SDK de Windows. Para ejecutar la herramienta, se recomienda usar el símbolo del sistema de Visual Studio o del SDK de Windows (shell de CMD). Estas utilidades permiten ejecutar la herramienta fácilmente, sin navegar a la carpeta de instalación. Para obtener más información, vea Símbolos del sistema del SDK de Windows y Visual Studio.
Si tiene instalado Visual Studio en el equipo: en la barra de tareas, haga clic en Start, All Programs, Visual Studio y Visual Studio Tools y, a continuación, haga clic en Visual Studio Command Prompt.
O bien
Si tiene el SDK de Windows instalado en el equipo: en la barra de tareas, haga clic en Start, All Programs, haga clic en la carpeta del SDK de Windows y, a continuación, haga clic en Command Prompt (o CMD Shell).
En el símbolo del sistema, escriba:
tlbimp tlbFile [options]
Parámetros
Argumento |
Descripción |
---|---|
tlbFile |
Nombre de cualquier archivo que contenga una biblioteca de tipos COM. |
Opción |
Descripción |
---|---|
/asmversion:númeroVersión |
Especifica el número de versión del ensamblado que se genera. Especifique el número de versión con el formato principal.secundaria.compilación.revisión. |
/delaysign |
Especifica a la herramienta Tlbimp.exe que firme el ensamblado resultante con un nombre seguro mediante firma postergada. Esta opción se debe especificar con la opción /keycontainer:, /keyfile: o la opción /publickey:. Para obtener más información sobre el proceso de retraso de firmas, vea Retrasar la firma de un ensamblado. |
/help |
Muestra la sintaxis de comandos y opciones para la herramienta. |
/keycontainer:nombreContenedor |
Firma el ensamblado resultante con un nombre seguro utilizando el par de claves pública y privada que se encuentra en el contenedor de claves especificado mediante el containername. |
/keyfile:nombreArchivo |
Firma el ensamblado resultante con un nombre seguro utilizando el par de claves pública y privada oficial del editor que se encuentra en filename. |
/namespace:espacioNombres |
Especifica el espacio de nombres en que se genera el ensamblado. |
/noclassmembers |
Evita que Tlbimp.exe agregue miembros a las clases. Esto evita una posible TypeLoadException. |
/nologo |
Suprime la presentación de la portada de inicio de Microsoft. |
/out:nombreArchivo |
Especifica el nombre del archivo de salida, el ensamblado y el espacio de nombres en el que se escriben las definiciones de los metadatos. La opción /out no afecta al espacio de nombres del ensamblado si la biblioteca de tipos especifica el atributo personalizado de Lenguaje de definición de interfaz (IDL) que controla explícitamente el espacio de nombres del ensamblado. Si no se especifica esta opción, Tlbimp.exe escribe los metadatos en un archivo con el mismo nombre que la biblioteca de tipos reales definida en el archivo de entrada y le asigna una extensión .dll. Si el archivo de salida tiene el mismo nombre que el archivo de entrada, la herramienta genera un error para evitar que se sobrescriba la biblioteca de tipos. |
/primary |
Genera un ensamblado de interoperabilidad primario para la biblioteca de tipos especificada. La información se agrega al ensamblado indicando que se ha generado con el editor de la biblioteca de tipos. Especificando un ensamblado de interoperabilidad primario, diferencia el ensamblado de un publicador de cualquier otro ensamblado que se cree a partir de la biblioteca de tipos utilizando Tlbimp.exe. Solo debería utilizar la opción /primary si es el publicador de la biblioteca de tipos que está importando con Tlbimp.exe. Observe que debe firmar un ensamblado de interoperabilidad primario con un nombre seguro. Para obtener más información, vea Ensamblados de interoperabilidad primarios. |
/publickey:nombreArchivo |
Especifica el archivo que contiene la clave pública que se utiliza para firmar el ensamblado resultante. Si se especifica la opción /keyfile: o la opción /keycontainer: en vez de especificar /publickey:, Tlbimp.exe genera la clave pública a partir del par de claves pública y privada proporcionado con /keyfile: o /keycontainer:. La opción /publickey: admite los escenarios de clave de prueba y de firma postergada. El archivo tiene el formato generado por Sn.exe. Para obtener más información, vea la opción -p de Sn.exe en Herramienta de nombre seguro (Sn.exe). |
/reference:nombreArchivo |
Especifica el archivo de ensamblado que se utiliza para resolver referencias en tipos definidos fuera de la biblioteca de tipos actual. Si no se especifica la opción /reference, Tlbimp.exe importa automáticamente y de forma recursiva cualquier biblioteca de tipos externa a la que se haga referencia en la biblioteca de tipos que se está importando. Si especifica la opción /reference, la herramienta intenta resolver los tipos externos en los ensamblados a los que se hace referencia antes de importar otras bibliotecas de tipos. |
/silent |
Suprime la presentación de mensajes de operaciones correctas. |
/strictref |
No importa una biblioteca de tipos si la herramienta no puede resolver todas las referencias dentro del ensamblado actual, los ensamblados especificados con la opción /reference o los ensamblados de interoperabilidad primarios (PIA) registrados. |
/strictref:nopia |
Igual que /strictref, pero omite los PIA. |
/sysarray |
Especifica a la herramienta que importe una matriz SafeArray de estilo COM como un tipo Clase System.Array administrado. |
/tlbreference:nombreArchivo |
Especifica el archivo de la biblioteca de tipos que se debe utilizar para resolver las referencias de la biblioteca de tipos sin consultar el Registro. Observe que esta opción no cargará algunos de los formatos de la biblioteca de tipos más antiguos. Sin embargo, todavía puede cargarlos de forma implícita a través del Registro o del directorio actual. |
/transform:nombreTransformación |
Transforma los metadatos de la forma especificada por el parámetro transformname. Especifique dispret para que el parámetro transformname transforme los parámetros [out, retval] de los métodos de las interfaces de sólo de envío (interfaces dispinterface) en valores de retorno. Para obtener más información sobre esta opción, vea los ejemplos que se muestran más adelante en este tema. |
/unsafe |
Genera interfaces sin comprobaciones de seguridad de .NET Framework. Llamar a un método expuesto de esta forma puede ser un riesgo para la seguridad. Esta opción no se debe utilizar a no ser que se conozcan los riesgos que supone exponer este código. |
/verbose |
Especifica el modo detallado; muestra información adicional sobre la biblioteca de tipos importada. |
/VariantBoolFieldToBool |
Convierte los campos VARIANT_BOOL de las estructuras en Boolean. |
/? |
Muestra la sintaxis de comandos y opciones para la herramienta. |
Nota |
---|
Las opciones de la línea de comandos de Tlbimp.exe no distinguen entre mayúsculas y minúsculas, y se pueden escribir en cualquier orden.Por tanto, basta con especificar parte de la opción para identificarla de manera única.Por lo tanto, /n equivale a /nologo y /ou:outfile.dll equivale a /out:outfile.dll. |
Comentarios
Tlbimp.exe realiza las conversiones de una biblioteca completa de tipos de una vez. No se puede utilizar esta herramienta para generar información de tipos para un subconjunto de los tipos definidos en una biblioteca de tipos sencilla.
Por lo general, suele ser útil o necesario poder asignar nombres seguros a los ensamblados. Por consiguiente, Tlbimp.exe incluye opciones que proporcionan la información necesaria para generar ensamblados con nombre seguro. Las dos opciones /keyfile: y /keycontainer: firman los ensamblados con nombre seguro. Por tanto, lo lógico es proporcionar una de estas opciones cada vez.
El identificador de recurso se puede, opcionalmente, anexar a un archivo de biblioteca de tipos cuando se importa desde un módulo que contiene varias bibliotecas de tipos. Tlbimp.exe puede ubicar este archivo sólo si se encuentra en el directorio actual o si se especifica la ruta de acceso completa. Vea el ejemplo que se muestra más adelante en este tema.
Ejemplos
El comando siguiente genera un ensamblado con el mismo nombre que el de la biblioteca de tipos que se encuentra en myTest.tlb y con la extensión .dll.
tlbimp myTest.tlb
El comando siguiente genera un ensamblado con el nombre myTest.dll.
tlbimp myTest.tlb /out:myTest.dll
El comando siguiente genera un ensamblado con el mismo nombre que la biblioteca de tipos especificada por MyModule.dll\1 y con la extensión .dll. MyModule.dll\1 debe estar ubicado en el directorio actual.
tlbimp MyModule.dll\1
El comando siguiente genera un ensamblado con el nombre myTestLib.dll para la biblioteca de tipos TestLib.dll. La opción /transform:dispret transforma los parámetros [out, retval] de los métodos de las interfaces dispinterface de la biblioteca de tipos en valores de retorno de la biblioteca administrada.
tlbimp TestLib.dll /transform:dispret /out:myTestLib.dll
En el ejemplo anterior, la biblioteca de tipos TestLib.dll incluye un método de interfaz dispinterface denominado SomeMethod que devuelve void y que tiene un parámetro [out, retval]. El siguiente código es la firma del método de la biblioteca de tipos de entrada de SomeMethod en TestLib.dll.
void SomeMethod([out, retval] VARIANT_BOOL*);
Al especificar la opción /transform:dispret, Tlbimp.exe transforma el parámetro [out, retval] de SomeMethod en un valor de retorno de tipo bool. A continuación, se muestra la firma del método que Tlbimp.exe genera para SomeMethod en la biblioteca administrada myTestLib.dll cuando se especifica la opción /transform:dispret.
bool SomeMethod();
Si utiliza Tlbimp.exe para generar una biblioteca administrada para TestLib.dll sin especificar la opción /transform:dispret, la herramienta genera la siguiente firma de método para SomeMethod en la biblioteca administrada myTestLib.dll.
void SomeMethod(out bool x);
Vea también
Referencia
Tlbexp.exe (Exportador de la biblioteca de tipos)
Ildasm.exe (Desensamblador de MSIL)
Sn.exe (Herramienta de nombre seguro)
Símbolos del sistema del SDK de Windows y Visual Studio
Conceptos
Importar una biblioteca de tipos como un ensamblado
Atributos para importar bibliotecas de tipos en ensamblados de interoperabilidad
Otros recursos
Herramientas de .NET Framework
Resumen de la conversión de bibliotecas de tipos en ensamblados
Historial de cambios
Fecha |
Historial |
Motivo |
---|---|---|
1 de abril de 2011 |
Se agregó información sobre el uso de los símbolos del sistema de Visual Studio y del SDK de Windows. |
Mejora de la información. |
Mayo de 2010 |
Se agregó el modificador que faltaba. |
Corrección de errores de contenido. |