Des bons tutoriels sur l’utilisation de COM à partir de C #?

Pour l’un des projets annexes, je dois écrire une application C # nécessitant l’utilisation d’un object COM INPROC tiers. Malheureusement, C # n’est pas mon principal langage de programmation, mes connaissances sont donc un peu limitées. Existe-t-il de bons tutoriels sur la façon d’accéder à un object COM à partir de C #? L’utilisation de cet object COM tiers nécessite que je crée l’implémentation de l’interface COM spécifiée et fournisse cette implémentation dans l’object COM afin que celui-ci puisse fonctionner.

Il existe un bon livre intitulé .NET and COM: The Complete Interoperability Guide que je suis sur le sharepoint commencer à lire, car je souhaite mieux comprendre l’interopérabilité COM. Peut-être que ce serait utile pour vous aussi, jetez-y un coup d’œil.

Le livre est axé sur l’interopérabilité COM (puisqu’il s’agit d’un sujet beaucoup plus vaste) et le cœur de la discussion est divisé en quatre parties:

* Using COM Components Within the .NET Framework * Using .NET Framework Components from COM * Designing Good .NET Framework Components for COM Clients * Designing Good COM Components for .NET Framework Clients 

La scope de ce livre concerne à peu près tout ce qui concerne l’utilisation du “code non managé” dans le .NET Framework. Les technologies reposant sur l’interopérabilité COM sont également couvertes: interopérabilité des contrôles Windows Forms et des contrôles ActiveX, interopérabilité avec COM + et interopérabilité avec DCOM (Dissortingbuted COM). Bien que les services d’invitation de plate-forme soient une technologie distincte de l’interopérabilité COM, il existe de nombreux domaines de chevauchement, il est donc tout à fait normal de l’inclure dans le livre. Toutes ces technologies font partie intégrante du Common Language Runtime et du .NET Framework et seront probablement utilisées non seulement comme voie de migration pour les projets logiciels existants, mais également pour le développement de nouveaux logiciels au cours des prochaines années.

Jetez également un coup d’œil à cet ebook pdf gratuit (en toute légalité) COM et à l’interopérabilité .NET que vous pouvez télécharger à partir de TheServerSide.com. Vous devez vous inscrire avant de pouvoir télécharger, mais vous pouvez simplement corriger si vous n’en avez pas envie.

J’ai une assez grande collection de signets .NET <-> COM que je dépose ci-dessous.

Le problème est qu’aucun tutoriel / article ne couvre tous les principes de base et de gotacha. Il vous faut donc en examiner quelques-unes et les mélanger, en fonction de ce que vous voulez faire.

Voici le meilleur de ce que j’ai trouvé jusqu’à présent …

Général .NET COM Articles / Tutorials

  • Interopérabilité .NET – COM.
  • Interopérabilité COM dans .NET Framework: Partie I.
  • Comprendre l’interopérabilité COM classique avec les applications .NET.
  • Exposer les composants .NET à COM.
  • Construction d’objects COM en C #.
  • Appel des objects COM .NET C # gérés à partir de code C ++ non géré.
  • Interopération native et gérée simplifiée.
  • Utilisation de .NET Assembly avec le client COM.
  • Moserware: Utilisation des API COM Windows obscures dans .NET
  • Interopérabilité COM dans .NET Partie 1 Partie 2 Partie 3
  • Interopérabilité COM partie 1: didacticiel client C # partie 2: didacticiel serveur C #
  • Appel d’un composant COM à partir de C # (liaison tardive)
  • Construction d’objects COM en C #

MSDN sur .NET & COM

  • Didacticiels COM Interop (C #)
  • Exposer des composants .NET Framework à COM
  • Interop Marshaling
  • Interopérabilité COM avancée
  • Comment: enregistrer un composant pour COM Interop

ActiveX dans .NET

  • Bibliothèque de classes Internet Explorer ActiveX Control C #
  • Créez ActiveX dans .NET, étape par étape.
  • Ajout dynamic de contrôles ActiveX dans le code managé.
  • Exposer les contrôles Windows Forms en tant que contrôles ActiveX.
  • Importation et extension de contrôles ActiveX dans .NET.
  • Didacticiels C # – ActiveX avec C #
  • CodeGuru: Pages de propriétés OLE extensibles dans .NET
  • Écrire un contrôle ActiveX dans .NET
  • Hébergement de contrôles ActiveX dans le .NET Compact Framework 2.0
  • Hébergement de contrôles Windows Forms dans des conteneurs de contrôles COM – O’Reilly Media

Les bases sont assez simples et MSDN contient de bonnes informations de référence.

Dans votre projet C #, utilisez “Ajouter une référence” pour append une référence au composant COM.

Si vous devez implémenter une interface COM, créez une classe qui en hérite:

 class MyClass : IMyComInterface { ... }