Guide pratique pour créer des wrappers COM

Remarque

Cette aide est spécifique à .NET Framework. Pour l’interopérabilité COM .NET moderne, utilisez l’interopérabilité COM générée par le code source ou l’API System.Runtime.InteropServices.ComWrappers. Pour plus d’informations, consultez la vue d’ensemble de l’interopérabilité COM et la génération de source COM.

Vous pouvez créer des wrappers COM (Component Object Model) à l’aide des fonctionnalités Visual Studio ou des outils .NET Framework Tlbimp.exe et Regasm.exe. Ces deux méthodes génèrent deux types de wrappers COM :

Dans Visual Studio, vous pouvez ajouter le wrapper COM à votre projet en tant que référence.

Encapsuler des objets COM dans une application managée

Pour créer un Runtime Callable Wrapper à l’aide de Visual Studio

  1. Ouvrez le projet pour votre application managée.

  2. Dans le menu Projet, cliquez sur Afficher tous les fichiers.

  3. Dans le menu Projet, cliquez sur Ajouter une référence.

  4. Dans la boîte de dialogue Ajouter une référence, cliquez sur l’onglet COM, sélectionnez le composant que vous souhaitez utiliser et cliquez sur OK.

    Dans l’Explorateur de solutions, notez que le composant COM est ajouté au dossier Références dans votre projet.

Vous pouvez maintenant écrire le code pour accéder à l’objet COM. Vous pouvez commencer par déclarer l’objet, par exemple avec une instruction Imports pour Visual Basic ou une directive Using pour C#.

Remarque

Si vous souhaitez programmer des composants Microsoft Office, installez d’abord les bibliothèques d’interopérabilité principales redistribuables pour Microsoft Office.

Pour créer un wrapper RCW à l’aide des outils .NET Framework

Cet outil crée un assembly qui contient des métadonnées d’exécution pour les types définis dans la bibliothèque de types d’origine.

Encapsuler des objets managés dans une application native

Pour créer un encapsuleur appelable COM à l’aide de Visual Studio

  1. Créez un projet de bibliothèque de classes pour la classe managée que vous souhaitez exécuter en code natif. La classe doit avoir un constructeur sans paramètre.

    Vérifiez que vous disposez d’un numéro de version à quatre parties complet pour votre assembly dans le fichier AssemblyInfo. Ce numéro est requis pour assurer le contrôle de version dans le Registre Windows. Pour plus d’informations sur les numéros de version, consultez Contrôle de version des assemblys.

  2. Dans le menu Projet , cliquez sur Propriétés.

  3. Cliquez sur l’onglet Compiler.

  4. Cochez la case Inscrire pour COM Interop.

Quand vous générez le projet, l’assembly est automatiquement inscrit pour COM Interop. Si vous générez une application native dans Visual Studio, vous pouvez utiliser l’assembly en cliquant sur Ajouter une référence dans le menu Projet.

Pour créer un encapsuleur pouvant être appelé par COM à l’aide des outils .NET Framework

Exécutez l’outil Regasm.exe (outil d’enregistrement des assemblages).

Cet outil lit les métadonnées de l’assembly et ajoute les entrées nécessaires au Registre. Par conséquent, les clients COM peuvent créer des classes .NET Framework en toute transparence. Vous pouvez utiliser l’assembly comme s’il s’agissait d’une classe COM native.

Vous pouvez exécuter Regasm.exe sur un assembly situé dans n’importe quel répertoire, puis exécuter Gacutil.exe (outil de cache global d’assembly) pour le déplacer dans le cache global d’assembly. Le déplacement de l’assembly n’invalide pas les entrées du Registre d’emplacement, car le Global Assembly Cache est toujours examiné si l’assembly est introuvable ailleurs.

Voir aussi