Partage via


Empaquetage d’un assembly .NET Framework pour COM

Les développeurs COM peuvent tirer parti des informations suivantes sur les types managés qu’ils prévoient d’incorporer dans leur application :

  • Une liste des types que les applications COM peuvent consommer

    Certains types managés ne sont pas visibles par COM, certains sont visibles mais ne peuvent pas être créés, et certains sont visibles et peuvent être créés. Un assembly peut comprendre tout combinaison de types invisibles, visibles, ne pouvant pas être créés et pouvant être créés. Par souci d’exhaustivité, identifiez les types dans un assembly que vous prévoyez d’exposer à COM, en particulier quand ces types sont un sous-ensemble des types exposés au .NET Framework.

    Pour plus d’informations, consultez Qualification des types .NET en vue d’une interopérabilité.

  • Instructions de gestion de version

    Les classes managées qui implémentent l’interface de classe (une interface COM générée par interop) sont soumises aux restrictions de gestion de version.

    Pour connaître les instructions sur l’utilisation de l’interface de classe, consultez Présentation de l’interface de classe.

  • Instructions de déploiement

    Les assemblys avec nom fort signés par un serveur de publication peuvent être installés dans le global assembly cache. Les assemblys non signés doivent être installés sur la machine de l’utilisateur en tant qu’assemblys privés.

    Pour plus d’informations, consultez Aspects de la sécurité des assemblys.

  • Inclusion de bibliothèque de types

    La plupart des types nécessitent une bibliothèque de types en cas de consommation par une application COM. Vous pouvez générer une bibliothèque de types ou demander aux développeurs COM d’effectuer cette tâche. Le SDK Windows fournit les options suivantes pour générer une bibliothèque de types :

    Quel que soit le mécanisme que vous choisissez, seuls les types publics définis dans l’assembly que vous fournissez sont inclus dans la bibliothèque de types générée.

Pour obtenir des instructions, consultez Guide pratique pour incorporer des bibliothèques de types comme des ressources Win32 dans les applications.

Exportateur de bibliothèques de types

L’outil en ligne de commande Exporter.exe (exportateur de bibliothèques de types) permet de convertir les classes et les interfaces contenues dans un assembly en une bibliothèque de types COM. Une fois les informations de type de la classe disponibles, les clients COM peuvent créer une instance de la classe .NET et appeler les méthodes de l’instance comme s’il s’agissait d’un objet COM. Tlbexp.exe convertit un assembly entier à la fois. Vous ne pouvez pas utiliser Tlbexp.exe pour générer des informations sur les types pour un sous-ensemble de types définis dans un assembly.

Classe TypeLibConverter

La classe TypeLibConverter, qui se trouve dans l’espace de noms System.Runtime.Interop, convertit les classes et interfaces contenues dans un assembly en une bibliothèque de types COM. Cette API produit les mêmes informations de type que l’outil Type Library Exporter décrit dans la section précédente.

La classe TypeLibConverter implémente le ITypeLibConverter.

Outil Assembly Registration Tool

L’outil Assembly Registration Tool (Regasm.exe) peut générer et inscrire une bibliothèque de types quand vous appliquez l’option /tlb:. Les clients COM exigent que les bibliothèques de types soient installées dans le Registre de Windows. Sans cette option, Regasm.exe inscrit uniquement les types dans un assembly, pas la bibliothèque de types. Inscrire les types dans un assembly et inscrire la bibliothèque de types sont deux activités distinctes.

Outil .NET Services Installation

L’Outil .NET Services Installation (Regsvcs.exe) ajoute des classes managées aux Services de composants Windows 2000 et combine plusieurs tâches dans un seul outil. En plus de charger et d’inscrire un assembly, Regsvcs.exe peut générer, inscrire et installer la bibliothèque de types dans une application COM+ 1.0 existante.

Voir aussi