Tlbimp.exe (Type Library Importer)
L''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 comme Ildasm.exe.
Cet outil est installé automatiquement avec Visual Studio. Pour exécuter l’outil, utilisez l’invite de commandes développeur Visual Studio ou PowerShell pour développeurs Visual Studio.
À l'invite de commandes, tapez :
Syntaxe
tlbimp tlbFile [options]
Paramètres
Argument | Description |
---|---|
tlbFile | Nom d'un fichier qui contient une bibliothèque de types COM. |
Option | Description |
---|---|
/asmversion : numéro de version | Spécifie le numéro de version de l'assembly à produire. Spécifiez versionnumber au format major.minor.build.revision. |
/compagnie: companyinformation |
Ajoute les informations de l'entreprise à l'assembly de sortie. |
/copyright: copyrightinformation |
Ajoute les informations de copyright à l'assembly de sortie. Ces informations peuvent être affichées dans la boîte de dialogue Propriétés du fichier de l’assembly. |
/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 l’option /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 : containername | Signe l’assembly obtenu 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 : nom de fichier | Signe l’assembly obtenu avec un nom fort en utilisant la paire de clés publique/privée officielle de l’éditeur présente dans filename. |
/machine: machinetype |
Crée un assembly qui cible le type de l'ordinateur spécifié (microprocesseur). Types d'ordinateur pris en charge : x86, x64, Itanium, et agnostique. |
/namespace : 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 : nom de fichier | 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 /primary 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). |
/produit: productinformation |
Ajoute les informations produit à l'assembly de sortie. Ces informations peuvent être affichées dans la boîte de dialogue Propriétés du fichier de l’assembly. |
/productversion : productversioninformation |
Ajoute les informations de version du produit à l'assembly de sortie. Il n'existe aucune restriction de format. Ces informations peuvent être affichées dans la boîte de dialogue Propriétés du fichier de l’assembly. |
/publickey : nom de fichier | 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 signature différée. Le fichier est au format généré par Sn.exe. Pour plus d’informations, consultez l’option -p de Sn.exe dans l’outil Strong Name (Sn.exe). |
/reference : nom de fichier | 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 que la bibliothèque de types importée 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. |
/silence: warningnumber |
Supprime l'affichage de l'avertissement spécifié. Cette option ne peut pas être utilisée avec /silent. |
/silent | Supprime l'affichage des messages indiquant la réussite des opérations. Cette option ne peut pas être utilisée avec /silence. |
/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 actuel, des assemblys spécifiés avec l’option /reference ou des assemblys PIA (Primary Interop Assembly). |
/strictref:nopia | Similaire à /strictref, mais ignore les assemblys PIA. |
/sysarray | Indique à l’outil d’importer un SafeArray COM comme type Array managé. |
/tlbreference : nom de fichier | 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. |
/marque: trademarkinformation |
Ajoute les informations de marque commerciale à l'assembly de sortie. Ces informations peuvent être affichées dans la boîte de dialogue Propriétés du fichier de l’assembly. |
/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. |
Notes
Les options de ligne de commande de Tlbimp.exe ne font pas l'objet d'une distinction minuscules/majuscules et peuvent être fournies 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 conséquent, /n équivaut à /nologo et /ou : outfile.dll équivaut à /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.
Vous pouvez spécifier plusieurs assemblys de référence en utilisant l’option /reference plusieurs fois.
En raison de la façon dont Tlbimp.exe génère des assemblys, il n’est pas possible de rediriger un assembly vers une autre version mscorlib
. Par exemple, si vous souhaitez générer un assembly qui cible .NET Framework 2.0, vous devez utiliser le fichier Tlbimp.exe fourni avec le kit SDK .NET Framework 2.0/3.0/3.5. Pour cibler .NET Framework 4.x, vous devez utiliser le Tlbimp.exe fourni avec un kit SDK .NET Framework 4.x.
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
quand 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
- outils
- Tlbexp.exe (exportateur de bibliothèques de types)
- Importation d'une bibliothèque de types sous la forme d'un assembly
- Récapitulatif de la conversion d’une bibliothèque de types en assembly
- Ildasm.exe (désassembleur IL)
- Sn.exe (outil Strong Name)
- Assemblys avec noms forts
- Attributs d’importation de bibliothèques de types dans les assemblys d’interopérabilité
- Interpréteurs de commandes de ligne de commande développeur