Exposition de composants .NET Framework à COM
L'écriture d'un type .NET et la consommation de ce type à partir d'un code non managé sont deux activités distinctes pour les développeurs. Cette section donne plusieurs conseils d'écriture de code managé interopérant avec des clients COM :
Qualification des types .NET en vue d'une interopérabilité.
Tous les types, méthodes, propriétés, champs et événements managés que vous voulez exposer à COM doivent être publics. Les types doivent posséder un constructeur public par défaut, seul constructeur pouvant être appelé via COM.
Application d'attributs d'interopérabilité.
Des attributs personnalisés figurant dans du code managé peuvent améliorer l'interopérabilité d'un composant.
Empaquetage d'un assembly pour COM.
Les développeurs COM peuvent exiger que vous récapituliez les étapes relatives au référencement et au déploiement de vos assemblys.
De plus, cette section identifie les tâches relatives à la consommation d'un type managé à partir d'un client COM.
Pour consommer un type managé à partir de COM
Inscrivez les assemblys dans COM.
Les types figurant dans un assembly (et des bibliothèques de types) doivent être inscrits au moment du design. Si un programme d'installation n'inscrit pas l'assembly, ordonnez alors aux développeurs COM d'utiliser Regasm.exe.
Référencez des types .NET à partir de COM.
Les développeurs COM peuvent référencer des types dans un assembly à l'aide des mêmes outils et techniques qu'ils emploient aujourd'hui.
-
Les développeurs COM peuvent appeler des méthodes sur l'objet .NET de la même manière qu'ils appellent des méthodes sur un type non managé. Par exemple, l'interface API CoCreateInstance COM active les objets .NET.
Déployez une application pour accéder à COM.
Un assembly avec nom fort peut être installé dans le Global Assembly Cache ; il nécessite une signature de son éditeur. Les assemblys sans nom fort doivent être installés dans le répertoire de l'application du client.
Voir aussi
Concepts
Exemple COM Interop : client COM et Windows Server 2003