Tlbimp.exe (Type Library Importer)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.The Type Library Importer converts the type definitions found within a COM type library into equivalent definitions in a common language runtime assembly. 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.The output of Tlbimp.exe is a binary file (an assembly) that contains runtime metadata for the types defined within the original type library. Vous pouvez examiner ce fichier à l’aide d’outils comme Ildasm.exe.You can examine this file with tools such as Ildasm.exe.

Cet outil est installé automatiquement avec Visual Studio.This tool is automatically installed with Visual Studio. Pour exécuter l’outil, utilisez l’invite de commandes développeur pour Visual Studio (ou l’invite de commandes Visual Studio dans Windows 7).To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). Pour plus d'informations, consultez Invites de commandes.For more information, see Command Prompts.

À l'invite de commandes, tapez le texte suivant :At the command prompt, type the following:

SyntaxeSyntax

tlbimp tlbFile [options]  

ParamètresParameters

ArgumentArgument DescriptionDescription
tlbFiletlbFile Nom d'un fichier qui contient une bibliothèque de types COM.The name of any file that contains a COM type library.
OptionOption DescriptionDescription
/asmversion: versionnumber/asmversion: versionnumber Spécifie le numéro de version de l'assembly à produire.Specifies the version number of the assembly to produce. Spécifiez versionnumber au format major.minor.build.revision.Specify versionnumber in the format major.minor.build.revision.
/company: companyinformation/company: companyinformation Ajoute les informations de l'entreprise à l'assembly de sortie.Adds company information to the output assembly.
/copyright: copyrightinformation/copyright: copyrightinformation Ajoute les informations de copyright à l'assembly de sortie.Adds copyright information to the output assembly. Ces informations peuvent être affichées dans la boîte de dialogue Propriétés du fichier de l’assembly.This information can be viewed in the File Properties dialog box for the assembly.
/delaysign/delaysign Indique à Tlbimp.exe de signer l'assembly résultant avec un nom fort à l'aide d'une signature différée.Specifies to Tlbimp.exe to sign the resulting assembly with a strong name using delayed signing. Vous devez spécifier cette option avec l’option /keycontainer: , /keyfile: ou /publickey: .You must specify this option with either the /keycontainer:, /keyfile:, or /publickey: option. Pour plus d’informations sur le processus de signature différée, consultez Temporisation de signature d’un assembly.For more information on the delayed signing process, see Delay Signing an Assembly.
/help/help Affiche la syntaxe et les options de commande de l'outil.Displays command syntax and options for the tool.
/keycontainer: containername/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.Signs the resulting assembly with a strong name using the public/private key pair found in the key container specified by containername.
/keyfile: filename/keyfile: filename 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.Signs the resulting assembly with a strong name using the publisher's official public/private key pair found in filename.
/machine: machinetype/machine: machinetype Crée un assembly qui cible le type de l'ordinateur spécifié (microprocesseur).Creates an assembly that targets the specified machine type (microprocessor). Types d'ordinateur pris en charge : x86, x64, Itanium, et agnostique.Supported machine types: x86, x64, Itanium, and Agnostic.
/namespace: namespace/namespace: namespace Spécifie l'espace de noms dans lequel produire l'assembly.Specifies the namespace in which to produce the assembly.
/noclassmembers/noclassmembers Empêche Tlbimp.exe d'ajouter des membres aux classes.Prevents Tlbimp.exe from adding members to classes. Cela évite une TypeLoadException potentielle.This avoids a potential TypeLoadException.
/nologo/nologo Supprime l'affichage de la bannière de démarrage Microsoft.Suppresses the Microsoft startup banner display.
/out: filename/out: filename 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.Specifies the name of the output file, assembly, and namespace in which to write the metadata definitions. 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.The /out option has no effect on the assembly's namespace if the type library specifies the Interface Definition Language (IDL) custom attribute that explicitly controls the assembly's namespace. 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.If you do not specify this option, Tlbimp.exe writes the metadata to a file with the same name as the actual type library defined within the input file and assigns it a .dll extension. 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.If the output file is the same name as the input file, the tool generates an error to prevent overwriting the type library.
/primary/primary Produit un assembly PIA (Primary Interop Assembly) pour la bibliothèque de types spécifiée.Produces a primary interop assembly for the specified type library. Des informations sont ajoutées à l'assembly pour indiquer qu'il a été produit par l'éditeur de la bibliothèque de types.Information is added to the assembly indicating that the publisher of the type library produced the assembly. 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.By specifying a primary interop assembly, you differentiate a publisher's assembly from any other assemblies that are created from the type library using 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.You should only use the /primary option if you are the publisher of the type library that you are importing with Tlbimp.exe. Notez que vous devez signer un assembly PIA (Primary Interop Assembly) avec un nom fort.Note that you must sign a primary interop assembly with a strong name. Pour plus d’informations, consultez Assemblys PIA (Primary Interop Assembly).For more information, see Primary Interop Assemblies.
/product: productinformation/product: productinformation Ajoute les informations produit à l'assembly de sortie.Adds product information to the output assembly. Ces informations peuvent être affichées dans la boîte de dialogue Propriétés du fichier de l’assembly.This information can be viewed in the File Properties dialog box for the assembly.
/productversion: productversioninformation/productversion: productversioninformation Ajoute les informations de version du produit à l'assembly de sortie.Adds product version information to the output assembly. Il n'existe aucune restriction de format.There are no format restrictions. Ces informations peuvent être affichées dans la boîte de dialogue Propriétés du fichier de l’assembly.This information can be viewed in the File Properties dialog box for the assembly.
/publickey: filename/publickey: filename Spécifie le fichier contenant la clé publique à utiliser pour signer l'assembly résultant.Specifies the file containing the public key to use to sign the resulting assembly. 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: .If you specify the /keyfile: or /keycontainer: option instead of /publickey:, Tlbimp.exe generates the public key from the public/private key pair supplied with /keyfile: or /keycontainer:. L’option /publickey: prend en charge les scénarios de clé de test et de signature différée.The /publickey: option supports test key and delay signing scenarios. Le fichier est au format généré par Sn.exe.The file is in the format generated by Sn.exe. Pour plus d’informations, consultez l’option -p de Sn.exe dans l’outil Strong Name (Sn.exe).For more information, see the -p option of Sn.exe in Strong Name Tool (Sn.exe).
/reference: filename/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.Specifies the assembly file to use to resolve references to types defined outside the current type library. 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.If you do not specify the /reference option, Tlbimp.exe automatically recursively imports any external type library that the type library being imported references. 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.If you specify the /reference option, the tool attempts to resolve external types in the referenced assemblies before it imports other type libraries.
/silence: warningnumber/silence: warningnumber Supprime l'affichage de l'avertissement spécifié.Suppresses the display of the specified warning. Cette option ne peut pas être utilisée avec /silent.This option cannot be used with /silent.
/silent/silent Supprime l'affichage des messages indiquant la réussite des opérations.Suppresses the display of success messages. Cette option ne peut pas être utilisée avec /silence.This option cannot be used with /silence.
/strictref/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).Does not import a type library if the tool cannot resolve all references within the current assembly, the assemblies specified with the /reference option, or registered primary interop assemblies (PIAs).
/strictref:nopia/strictref:nopia Similaire à /strictref, mais ignore les assemblys PIA.Same as /strictref, but ignores PIAs.
/sysarray/sysarray Indique à l’outil d’importer un SafeArray COM comme type Array managé.Specifies to the tool to import a COM style SafeArray as a managed Array type.
/tlbreference: filename/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.Specifies the type library file to use to resolve type library references without consulting the registry.

Notez que cette option ne charge pas certains formats de bibliothèque de types plus anciens.Note that this option will not load some older type library formats. Toutefois, vous pouvez toujours charger les formats de bibliothèque de types plus anciens par le biais du Registre ou du répertoire actif.However, you can still load older type library formats implicitly through the registry or current directory.
/trademark: trademarkinformation/trademark: trademarkinformation Ajoute les informations de marque commerciale à l'assembly de sortie.Adds trademark information to the output assembly. Ces informations peuvent être affichées dans la boîte de dialogue Propriétés du fichier de l’assembly.This information can be viewed in the File Properties dialog box for the assembly.
/transform: transformname/transform: transformname Transforme des métadonnées comme spécifié par le paramètre transformname.Transforms metadata as specified by the transformname parameter.

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.Specify dispret for the transformname parameter to transform [out, retval] parameters of methods on dispatch-only interfaces (dispinterfaces) into return values.

Pour plus d'informations sur cette option, consultez les exemples plus loin dans cette rubrique.For more information about this option, see the examples later in this topic.
/unsafe/unsafe Produit des interfaces sans contrôles de sécurité .NET Framework.Produces interfaces without .NET Framework security checks. L'appel d'une méthode ainsi exposée peut poser des problèmes de sécurité.Calling a method that is exposed in this way might pose a security risk. Vous ne devez pas utiliser cette option à moins d'être bien conscient des risques liés à l'exposition d'un tel code.You should not use this option unless you are aware of the risks of exposing such code.
/verbose/verbose Spécifie le mode documenté, qui affiche des informations supplémentaires sur la bibliothèque de types importée.Specifies verbose mode; displays additional information about the imported type library.
/VariantBoolFieldToBool/VariantBoolFieldToBool Convertit les champs VARIANT_BOOL en structures dans Boolean.Converts VARIANT_BOOL fields in structures to Boolean.
/?/? Affiche la syntaxe et les options de commande de l'outil.Displays command syntax and options for the tool.

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.The command-line options for Tlbimp.exe are case-insensitive and can be supplied in any order. Il vous suffit de spécifier les éléments de l'option nécessaires à son identification de manière unique.You only need to specify enough of the option to uniquely identify it. Par conséquent, /n équivaut à /nologo et /ou: outfile.dll équivaut à /out: outfile.dll.Therefore, /n is equivalent to /nologo and /ou: outfile.dll is equivalent to /out: outfile.dll.

NotesRemarks

Tlbimp.exe effectue d'un seul tenant les conversions sur la totalité d'une bibliothèque de types.Tlbimp.exe performs conversions on an entire type library at one time. 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.You cannot use the tool to generate type information for a subset of the types defined within a single type library.

Il est souvent utile ou nécessaire d’assigner des noms forts aux assemblys.It is often useful or necessary to be able to assign strong names to assemblies. 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.Therefore, Tlbimp.exe includes options for supplying the information necessary to generate strongly named assemblies. Les options /keyfile: et /keycontainer: permettent de signer les assemblys avec des noms forts.Both the /keyfile: and /keycontainer: options sign assemblies with strong names. Par conséquent, il est logique de fournir uniquement une seule de ces options à la fois.Therefore, it is logical to supply only one of these options at a time.

Vous pouvez spécifier plusieurs assemblys de référence en utilisant l’option /reference plusieurs fois.You can specify multiple reference assemblies by using the /reference option multiple times.

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.Due to the way in which Tlbimp.exe generates assemblies, it is not possible to retarget an assembly to a different mscorlib version. 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.For example, if you desire to generate an assembly that targets .NET Framework 2.0, the Tlbimp.exe shipped with the .NET Framework 2.0/3.0/3.5 SDK must be used. Pour cibler .NET Framework 4.x, vous devez utiliser le Tlbimp.exe fourni avec un kit SDK .NET Framework 4.x.In order to target .NET Framework 4.x, the Tlbimp.exe shipped with a .NET Framework 4.x SDK should be used.

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.A resource ID can optionally be appended to a type library file when importing a type library from a module containing multiple type libraries. 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.Tlbimp.exe is able to locate this file only if it is in the current directory or if you specify the full path. Consultez l'exemple décrit plus loin dans cette rubrique.See the example later in this topic.

ExemplesExamples

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.The following command generates an assembly with the same name as the type library found in myTest.tlb and with the .dll extension.

tlbimp myTest.tlb   

La commande suivante génère un assembly portant le nom myTest.dll.The following command generates an assembly with the name 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.The following command generates an assembly with the same name as the type library specified by MyModule.dll\1 and with the .dll extension. MyModule.dll\1 doit se trouver dans le répertoire actif.MyModule.dll\1 must be located in the current directory.

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.The following command generates an assembly with the name myTestLib.dll for the type library 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.The /transform:dispret option transforms any [out, retval] parameters of methods on dispinterfaces in the type library into return values in the managed library.

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].The type library TestLib.dll, in the preceding example, includes a dispinterface method named SomeMethod that returns void and has an [out, retval] parameter. Le code suivant est la signature de méthode de bibliothèque de types d'entrées de SomeMethod dans TestLib.dll.The following code is the input type library method signature for SomeMethod in 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.Specifying the /transform:dispret option causes Tlbimp.exe to transform the [out, retval] parameter of SomeMethod into a bool return value. 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.The following is the method signature that Tlbimp.exe produces for SomeMethod in the managed library myTestLib.dll when the /transform:dispret option is specified.

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.If you use Tlbimp.exe to produce a managed library for TestLib.dll without specifying the /transform:dispret, the tool produces the following method signature for SomeMethod in the managed library myTestLib.dll.

void SomeMethod(out bool x);  

Voir aussiSee also