Partager via


Comment : générer des assemblys PIA à l'aide de Tlbimp.exe

Mise à jour : novembre 2007

La façon la plus simple de produire des assemblys PIA est d'utiliser le Type Library Importer (Tlbimp.exe).

Pour générer un assembly PIA à l'aide de Tlbimp.exe

  • À l'invite de commande, tapez :

    tlbimpfichiertlb **/primary /keyfile:nomfichier/out:**nomassembly

    Dans cette commande, fichiertlb est le fichier contenant la bibliothèque de types COM, nomfichier est le nom du conteneur ou du fichier qui contient la paire de clés et nomassembly est le nom de l'assembly à signer avec un nom fort.

Les assemblys PIA ne peuvent référencer que d'autres assemblys PIA. Si votre assembly référence des types appartenant à une bibliothèque de types COM tierce, l'éditeur doit vous fournir un assembly PIA pour vous permettre de générer votre assembly PIA. Si vous êtes l'éditeur, vous devez générer un assembly PIA pour la bibliothèque de types dépendante avant de générer l'assembly PIA de référence.

Un assembly PIA dépendant dont le numéro de version est différent de celui de la bibliothèque de types d'origines n'est pas accessible lorsqu'il est installé dans le répertoire en cours. Vous devez inscrire l'assembly PIA dans le Registre Windows ou utiliser l'option /reference pour garantir que Tlbimp.exe trouve la DLL dépendante.

Vous pouvez aussi envelopper plusieurs versions d'une bibliothèque de types. Pour obtenir des instructions, consultez Comment : encapsuler plusieurs versions de bibliothèques de types.

Exemple

L'exemple suivant importe la bibliothèque de types COM LibUtil.tlb et signe l'assembly LibUtil.dll avec un nom fort à l'aide du fichier de clé CompanyA.snk. En omettant un nom d'espace de noms spécifique, cet exemple produit l'espace de noms par défaut, LibUtil.

tlbimp LibUtil.tlb /primary /keyfile:CompanyA.snk /out:LibUtil.dll

Pour obtenir un nom plus descriptif (en utilisant l'indication pour l'affectation de noms NomFabricant.NomBibliothèque), l'exemple suivant remplace le nom de fichier et le nom d'espace de noms par défaut de l'assembly.

tlbimp LibUtil.tlb /primary /keyfile:CompanyA.snk /namespace:CompanyA.LibUtil /out:CompanyA.LibUtil.dll

L'exemple suivant importe MyLib.tlb, qui référence CompanyA.LibUtil.dll, puis signe l'assembly CompanyB.MyLib.dll avec un nom fort à l'aide du fichier de clé CompanyB.snk. L'espace de noms CompanyB.MyLib remplace l'espace de noms par défaut.

tlbimp MyLib.tlb /primary /keyfile:CompanyB.snk /namespace:CompanyB.MyLib /reference:CompanyA.LibUtil.dll /out:CompanyB.MyLib.dll

Voir aussi

Tâches

Comment : encapsuler plusieurs versions de bibliothèques de types

Comment : créer manuellement des assemblys PIA

Concepts

Génération d'assemblys PIA

Génération d'assemblys PIA (Primary Interop Assembly)