Tlbimp.exe (Type Library Importer)

L'outil Type Library Importer (Importateur de bibliothèques de types) convertit les définitions de types présentes dans une bibliothèque de types COM en définitions équivalentes dans un assembly de Common Language Runtime. Le résultat de Tlbimp.exe est un fichier binaire (un assembly) qui contient les métadonnées de runtime pour les types définis dans la bibliothèque de types d'origines. Vous pouvez examiner ce fichier à l'aide d'outils tels que Ildasm.exe.

Cet outil est installé automatiquement avec Visual Studio et avec le Kit de développement logiciel Windows. Pour exécuter l'outil, nous vous recommandons d'utiliser l'invite de commandes Visual Studio ou l'invite de commandes du Kit de développement logiciel (l'interpréteur de commandes CMD). Ces utilitaires vous permettent d'exécuter l'outil facilement, sans naviguer jusqu'au dossier d'installation. Pour plus d'informations, consultez Invites de commandes Visual Studio e t Kit de développement logiciel (SDK) Windows.

  • Si Visual Studio est installé sur votre ordinateur : dans la barre des tâches, cliquez sur le bouton Start, All Programs, Visual Studio, sur Visual Studio Tools, puis sur Visual Studio Command Prompt.

    ou

    Si vous avez le Kit de développement logiciel Windows installé sur votre ordinateur : Dans la barre des tâches, cliquez sur Start, All Programs, le dossier correspondant au Kit de développement logiciel, puis sur Command Prompt (ou CMD Shell).

  • À l'invite de commandes, tapez ce qui suit :

tlbimp tlbFile [options]

Paramètres

Argument

Description

tlbFile

Nom d'un fichier qui contient une bibliothèque de types COM.

Option

Description

/asmversion:versionNumber

Spécifie le numéro de version de l'assembly. Spécifiez versionNumber au format major.minor.build.revision.

/delaysign

Indique à Tlbimp.exe de signer l'assembly résultant avec un nom fort à l'aide d'une signature différée. Vous devez spécifier cette option avec /keycontainer:, /keyfile: ou /publickey:. Pour plus d'informations sur le processus de signature différée, consultez Temporisation de signature d'un assembly.

/help

Affiche la syntaxe et les options de commande de l'outil.

/keycontainer:nomconteneur

Signe l'assembly résultant avec un nom fort en utilisant la paire de clés publique/privée présente dans le conteneur de clé spécifié par containername.

/keyfile:NomFichier

Signe l'assembly résultant avec un nom fort en utilisant la paire de clés publique/privée officielle de l'éditeur présente dans filename.

/espace de noms :espace de noms

Spécifie l'espace de noms dans lequel produire l'assembly.

/noclassmembers

Empêche Tlbimp.exe d'ajouter des membres aux classes. Cela évite une TypeLoadException potentielle.

/nologo

Supprime l'affichage de la bannière de démarrage Microsoft.

/out:NomFichier

Spécifie le nom du fichier de sortie, de l'assembly et de l'espace de noms dans lesquels écrire les définitions de métadonnées. L'option /out n'a aucun effet sur l'espace de noms de l'assembly si la bibliothèque de types spécifie l'attribut personnalisé IDL (Interface Definition Language) qui contrôle explicitement l'espace de noms de l'assembly. Si vous ne spécifiez pas cette option, Tlbimp.exe écrit les métadonnées dans un fichier portant le même nom que la bibliothèque de types effective définie dans le fichier d'entrée, et lui assigne une extension .dll. Si le fichier de sortie porte le même nom que le fichier d'entrée, l'outil génère une erreur pour empêcher le remplacement de la bibliothèque de types.

/primary

Produit un assembly PIA (Primary Interop Assembly) pour la bibliothèque de types spécifiée. Des informations sont ajoutées à l'assembly pour indiquer qu'il a été produit par l'éditeur de la bibliothèque de types. En spécifiant un assembly PIA, vous différenciez l'assembly d'un éditeur des autres assemblys créés à partir de la bibliothèque de types à l'aide de Tlbimp.exe. Vous devez utiliser uniquement l'option /principal si vous êtes l'éditeur de la bibliothèque de types que vous importez avec Tlbimp.exe. Notez que vous devez signer un assembly PIA (Primary Interop Assembly) avec un nom fort. Pour plus d'informations, consultez Assemblys PIA (Primary Interop Assembly).

/publickey:NomFichier

Spécifie le fichier contenant la clé publique à utiliser pour signer l'assembly résultant. Si vous spécifiez l'option /keyfile: ou /keycontainer: au lieu de /publickey:, Tlbimp.exe génère la clé publique à partir de la paire de clés publique/privée fournie avec /keyfile: ou /keycontainer:. L'option /publickey: prend en charge les scénarios de clé de test et de temporisation de signature. Le fichier est au format généré par Sn.exe. Pour plus d'informations, consultez l'option -p de Sn.exe dans Outil Strong Name Tool (Sn.exe).

/reference:filename

Spécifie le fichier d'assembly à utiliser pour résoudre les références aux types définis en dehors de la bibliothèque de types en cours. Si vous ne spécifiez pas l'option /reference , Tlbimp.exe importe automatiquement de manière récursive les bibliothèques de types externes auxquelles la bibliothèque de types importée fait référence. Si vous spécifiez l'option /reference , l'outil essaie de résoudre les types externes des assemblys référencés avant d'importer d'autres bibliothèques de types.

/silent

Supprime l'affichage des messages indiquant la réussite des opérations.

/strictref

N'importe pas de bibliothèque de types si l'outil ne peut pas résoudre toutes les références au sein de l'assembly en cours, des assemblys spécifiés à l'aide de l'option /reference ou des assemblys PIA (Primary Interop Assembly).

/strictref:nopia

Même fonctionnement que /strictref, mais ignore les assemblys PIA.

/sysarray

Indique à l'outil d'importer un SafeArray COM en tant que type classe System.Array managé.

/tlbreference:filename

Spécifie le fichier bibliothèque de types à utiliser pour résoudre des références de bibliothèque de types sans consulter le Registre.

Notez que cette option ne charge pas certains formats de bibliothèque de types plus anciens. Toutefois, vous pouvez toujours charger les formats de bibliothèque de types plus anciens par le biais du Registre ou du répertoire actif.

/transform:transformName

Transforme des métadonnées comme spécifié par le paramètre transformName.

Spécifiez dispret pour le paramètre transformName pour transformer les paramètres [out, retval] des méthodes sur des interfaces de dispatch uniquement (dispinterfaces) en valeurs de retour.

Pour plus d'informations sur cette option, consultez les exemples plus loin dans cette rubrique.

/unsafe

Produit des interfaces sans contrôles de sécurité .NET Framework. L'appel d'une méthode ainsi exposée peut poser des problèmes de sécurité. Vous ne devez pas utiliser cette option à moins d'être bien conscient des risques liés à l'exposition d'un tel code.

/verbose

Spécifie le mode documenté, qui affiche des informations supplémentaires sur la bibliothèque de types importée.

/VariantBoolFieldToBool

Convertit les champs VARIANT_BOOL en structures dans Boolean.

/?

Affiche la syntaxe et les options de commande de l'outil.

RemarqueRemarque

Les options de ligne de commande de Tlbimp.exe ne font pas l'objet d'une distinction minuscules/majuscules et peuvent être spécifiées dans n'importe quel ordre.Il vous suffit de spécifier les éléments de l'option nécessaires à son identification de manière unique.Par exemple, /n équivaut à /nologo et /ou:outfile.dll à /out:outfile.dll.

Notes

Tlbimp.exe effectue d'un seul tenant les conversions sur la totalité d'une bibliothèque de types. Vous ne pouvez pas utiliser cet outil dans le but de générer des informations de type pour un sous-ensemble de types définis dans une bibliothèque de types unique.

Il est souvent utile ou nécessaire d'assigner des noms forts aux assemblys. Par conséquent, Tlbimp.exe comprend des options permettant de fournir les informations nécessaires pour générer des assemblys portant un nom fort. Les options /keyfile: et /keycontainer: permettent de signer les assemblys avec des noms forts. Par conséquent, il est logique de fournir uniquement une seule de ces options à la fois.

Un ID de ressource peut être ajouté de manière facultative à un fichier bibliothèque de types lors de l'importation d'une bibliothèque de types à partir d'un module contenant plusieurs bibliothèques de types. Tlbimp.exe peut localiser ce fichier uniquement s'il se trouve dans le répertoire en cours, ou si vous spécifiez le chemin d'accès complet. Consultez l'exemple décrit plus loin dans cette rubrique.

Exemples

La commande suivante génère un assembly dont le nom est identique à celui de la bibliothèque de types présente dans myTest.tlb et qui porte l'extension .dll.

tlbimp myTest.tlb 

La commande suivante génère un assembly portant le nom myTest.dll.

tlbimp  myTest.tlb  /out:myTest.dll

La commande suivante génère un assembly avec le même nom que celui de la bibliothèque de types spécifiée par MyModule.dll\1 et avec l'extension .dll. MyModule.dll\1 doit se trouver dans le répertoire actif.

tlbimp MyModule.dll\1

La commande suivante génère un assembly portant le nom myTestLib.dll pour la bibliothèque de types TestLib.dll. L'option /transform:dispret transforme tous les paramètres [out, retval] des méthodes sur les dispinterfaces dans la bibliothèque de types en valeur de retour dans la bibliothèque managée.

tlbimp TestLib.dll /transform:dispret /out:myTestLib.dll

Dans l'exemple précédent, la bibliothèque de types TestLib.dll contient une méthode dispinterface nommée SomeMethod qui retourne void et a un paramètre [out, retval]. Le code suivant est la signature de méthode de bibliothèque de types d'entrées de SomeMethod dans TestLib.dll.

void SomeMethod([out, retval] VARIANT_BOOL*);

Si vous spécifiez l'option /transform:dispret, Tlbimp.exe transforme le paramètre [out, retval] de SomeMethod en valeur de retour bool. L'exemple de code suivant est la signature de méthode que génère Tlbimp.exe pour SomeMethod dans la bibliothèque managée myTestLib.dll lorsque l'option /transform:dispret est spécifiée.

bool SomeMethod();

Si vous utilisez Tlbimp.exe pour générer une bibliothèque managée pour TestLib.dll sans spécifier l'option /transform:dispret, l'outil génère la signature de méthode suivante pour SomeMethod dans la bibliothèque managée myTestLib.dll.

void SomeMethod(out bool x);

Voir aussi

Référence

Tlbexp.exe (exportateur de bibliothèques de types)

Ildasm.exe (Désassembleur MSIL)

Sn.exe (outil Strong Name Tool)

Invites de commandes Visual Studio e t Kit de développement logiciel (SDK) Windows

Concepts

Importation d'une bibliothèque de types sous la forme d'un assembly

Assemblys avec nom fort

Attributs d'importation de bibliothèques de types dans les assemblys d'interopérabilité

Autres ressources

Outils du .NET Framework

Résumé de la conversion d'une bibliothèque de types en assembly

Historique des modifications

Date

Historique

Motif

Avril 2011

Informations supplémentaires sur l'utilisation des invites de commandes de Visual Studio et du Kit de développement logiciel (SDK) Windows.

Améliorations apportées aux informations.

Mai 2010

A ajouté le commutateur manquant.

Résolution des bogues de contenu.