Partage via


Compilation d'un projet d'interopérabilité

Les projets de COM Interop qui référencent un ou plusieurs assemblys contenant des types COM importés sont compilés comme tout autre projet managé. Vous pouvez référencer des assemblys d’interopérabilité dans un environnement de développement tel que Visual Studio, ou vous pouvez les référencer quand vous utilisez un compilateur de ligne de commande. Dans les deux cas, l’assembly d’interopérabilité doit figurer dans le même répertoire que les autres fichiers projet pour que la compilation réussisse.

Il existe deux façons de référencer des assemblys d’interopérabilité :

  • En utilisant des types interop incorporés : à compter de .NET Framework 4 et Visual Studio 2010, vous pouvez indiquer au compilateur d’incorporer les informations de type d’un assembly d’interopérabilité dans votre exécutable. Il s’agit de la technique recommandée.

  • En déployant des assemblys d’interopérabilité : vous pouvez créer une référence standard à un assembly d’interopérabilité. Dans ce cas, l’assembly d’interopérabilité doit être déployé avec votre application.

Les différences entre ces deux techniques sont abordées de manière plus détaillée dans Utilisation de types COM dans du code managé.

L’incorporation des types d’interopérabilité avec Visual Studio est illustrée dans Procédure pas à pas : incorporation de types provenant d’assemblys managés dans Visual Studio.

Pour référencer un assembly d’interopérabilité avec un compilateur de ligne de commande et pour incorporer des informations de type dans vos fichiers exécutables, utilisez le commutateur de compilateur -link (options du compilateur C#) ou -link (Visual Basic) et spécifiez le nom de l’assembly d’interopérabilité.

Notes

Les applications Visual C++ ne peuvent pas incorporer d’informations de type, mais elles peuvent interagir avec des applications ou des compléments qui le font.

Pour compiler une application qui inclut un assembly PIA quand elle est déployée, utilisez le commutateur de compilateur /reference et spécifiez le nom de l’assembly d’interopérabilité.

Voir aussi