Partager via


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

Les définitions des types COM résident généralement dans une bibliothèque de types. Les compilateurs conformes CLS produisent quant à eux les métadonnées des types dans un assembly. Ces deux sources d'informations sur les types sont assez différentes.

Notes

S'il est disponible, utilisez toujours l'assembly PIA (Primary Interop Assembly) publié par l'auteur du composant COM que vous avez l'intention d'incorporer dans votre code managé. Les types figurant dans l'assembly PIA (Primary Interop Assembly) y ont été importés pour vous et sont prêts à être activés et appelés à partir du code managé. Pour plus d'informations sur la production et l'utilisation d'assemblys PIA (Primary Interop Assembly), consultez Assemblys PIA (Primary Interop Assembly).

Cette rubrique décrit des techniques permettant de générer des métadonnées à partir d'une bibliothèque de types. L'assembly résultant est appelé un assembly d'interopérabilité.

Génération de métadonnées

Les bibliothèques de types COM peuvent être des fichiers TLB autonomes, tels que Loanlib.tlb. Certaines bibliothèques de types sont incorporées dans la section des ressources d'une DLL ou d'un fichier EXE. Les fichiers OLB et OCX constituent d'autres sources d'informations sur les bibliothèques de types.

Une fois la bibliothèque de types comportant l'implémentation de votre type COM cible localisée, vous disposez des options suivantes pour générer un assembly d'interopérabilité contenant les métadonnées des types.

  • Visual Studio 2005

    Visual Studio 2005 convertit automatiquement les types COM figurant dans une bibliothèque de types en métadonnées d'un assembly. Pour obtenir des instructions, consultez Comment : ajouter des références aux bibliothèques de types.

  • Type Library Importer (Tlbimp.exe)

    Cet importateur fournit des options de ligne de commande pour ajuster les métadonnées dans le fichier d'interopérabilité résultant, importe des types d'une bibliothèque de types existante et génère un assembly et un espace de noms. Pour obtenir des instructions, consultez Comment faire : générer des assemblys d'interopérabilité à partir de bibliothèques de types.

  • TypeLibConverter, classe

    La classe TypeLibConverter (figurant dans l'espace de noms System.Runtime.InteropServices) fournit les méthodes permettant de convertir les coclasses et les interfaces d'une bibliothèque de types en métadonnées dans un assembly. Cette interface API produit les mêmes résultats de métadonnées que Tlbimp.exe. À la différence de Tlbimp.exe, la classe TypeLibConverter peut toutefois convertir une bibliothèque de types en mémoire en métadonnées.

  • Wrappers personnalisés

    Lorsqu'une bibliothèque de types est indisponible ou incorrecte, vous pouvez opter pour la création d'une définition dupliquée de la classe ou de l'interface dans du code source managé. Vous pouvez ensuite compiler le code source avec un compilateur qui cible le runtime pour produire des métadonnées dans un assembly.

    Pour définir manuellement des types COM, vous devez avoir accès aux éléments suivants :

    • des descriptions précises des coclasses et des interfaces qui sont définies ;

    • un compilateur, tel que le compilateur C#, pouvant générer les définitions des classes .NET Framework appropriées ;

    • une connaissance des règles de conversion de bibliothèque de types en assembly.

    L'écriture d'un wrapper personnalisé est une technique avancée que vous employez rarement. Pour plus d'informations sur la génération d'un wrapper personnalisé, consultez Personnalisation de wrappers standard.

Pour plus d'informations sur le processus d'importation de COM Interop, consultez Résumé de la conversion d'une bibliothèque de types en assembly.

Voir aussi

Tâches

Comment : ajouter des références aux bibliothèques de types
Comment : générer des assemblys d'interopérabilité à partir de bibliothèques de types

Référence

Type Library Importer (Tlbimp.exe)
TypeLibConverter Class

Concepts

Exposition de composants COM au .NET Framework
Personnalisation de wrappers standard
Utilisation de types COM dans du code managé
Compilation d'un projet d'interopérabilité
Déploiement d'une application d'interopérabilité

Autres ressources

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