Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit des informations sur l’ajout de références à un projet Visual C++ managé.
Version du produit d’origine : Visual C++
Numéro de base de connaissances d’origine : 310674
Résumé
Cet article décrit le processus d’ajout d’une référence à un autre assembly dans un projet Visual C++. Dans d’autres langages, tels que Visual C#, vous pouvez ajouter une référence via la boîte de dialogue Ajouter une référence . Cette boîte de dialogue n’est pas disponible pour les applications C++ gérées. Il existe plusieurs conseils qui facilitent l’utilisation de références dans une application C++ managée.
Références Microsoft .NET
Les références .NET pointent vers des assemblys partagés. Par exemple, l’assembly System.Windows.Forms.dll est un assembly standard pour accéder aux classes Windows Forms. Pour utiliser cet assembly dans une application C++ managée, vous devez simplement la référencer avec une #using
directive de préprocesseur, comme illustré ici :
#using <System.Windows.Forms.dll>
Références COM
L’utilisation d’un objet COM (Component Object Model) dans une application C++ managée implique une décision de conception. Une option consiste à utiliser du code COM non managé à l’intérieur d’une classe managée. Par exemple, vous pouvez décider d’utiliser la solution traditionnelle #import
. Cela peut être une bonne option pour les cas où il existe des problèmes à l’aide de COM Interop.
La deuxième option consiste à utiliser des assemblys d’interopérabilité qui encapsulent l’objet COM. Il s’agit de la seule méthode disponible pour d’autres langages comme C# et Visual Basic .NET. Pour créer un assembly d’interopérabilité pour un objet COM, utilisez l’outil TLBIMP.exe. Par exemple, procédez comme suit pour automatiser Internet Explorer à partir d’une application managée :
Ouvrez une invite de commandes.
Accédez au dossier Système Windows.
Tapez la commande suivante :
tlbimp shdocvw.dll /out:Interop.shdocvw.dll
Déplacez Interop.shdocvw.dll vers votre dossier de projet.
Cela crée un assembly d’interopérabilité pour les objets COM dans Shdocvw.dll. Le fichier résultant, Interop.shdocvw.dll, peut être utilisé avec une #using
directive. Il peut ensuite être traité comme un composant managé. Pour obtenir des instructions sur la copie automatique de cette bibliothèque de liens dynamiques (DLL) dans le dossier de sortie, consultez la section Utilisation des événements post-build de cet article.
Note
Les variables d’environnement pour Visual C++ doivent être définies pour que les TLBIMP.exe soient reconnues. S’ils ne sont pas définis, vous devez d’abord exécuter ./VC7/BIN/VCVARS32.bat
dans Visual Studio .NET ou ./VC/BIN/VCVARS32.bat
dans Visual Studio et Visual C++ Express Edition.
Références de projets
Les références de projet sont des références aux assemblys créés par d’autres projets. Là encore, la #using
directive est utilisée pour référencer ces assemblys. Toutefois, étant donné que ces assemblys ne sont pas partagés, vous devez prendre des mesures pour vous assurer que le compilateur peut les trouver. Il existe deux méthodes pour effectuer cette opération :
- Copiez l’assembly dans le dossier du projet.
- Modifiez les paramètres du projet pour rechercher l’assembly :
Ouvrez la boîte de dialogue Pages de propriété du projet.
Cliquez sur le dossier C/C++ .
Note
Dans Visual C++, développez Propriétés de configuration, puis développez C/C++.
Cliquez sur la page de propriétés Général.
Modifiez la propriété Resolve #using References pour pointer vers le dossier qui contient l’assembly cible.
Utilisation d’événements post-build
Les assemblys privés doivent résider dans le même dossier que l’exécutable qui les utilise. Lorsque vous ajoutez une référence en Visual C#, dans Visual Basic .NET ou en Visual Basic, elle est automatiquement copiée dans le dossier de sortie. Dans une application C++ managée, cette étape peut être automatisée par le biais de l’utilisation d’événements post-build
. Par exemple, considérez un scénario dans lequel vous avez un assembly nommé MYLIB.dll dans le dossier de projet de votre application C++ managée nommée TestApp. Les étapes suivantes configurent un post-build
événement qui copie cette DLL dans le dossier de sortie du projet TestApp .
Ouvrez la boîte de dialogue Pages de propriétés du projet C++ managé.
Cliquez sur le dossier Événements de build.
Note
Dans Visual C++, développez Propriétés de configuration, puis développez Événements de build.
Cliquez sur la page de propriétés d’événement post-build.
Modifiez la propriété ligne de commande sur la commande suivante :
copy $(<ProjectDir>)mylib.dll $(<TargetDir>)
Utilisation de Visual C++ .NET ou Visual C++
En utilisant Visual C++ .NET ou Visual C++, vous pouvez ajouter une référence au moyen de la boîte de dialogue Ajouter une référence . Pour ajouter une référence de projet, procédez comme suit :
Dans l’Explorateur de solutions, sélectionnez le projet .
Dans le menu Projet , cliquez sur Ajouter des références.
Note
Dans Visual C++, cliquez sur Références dans le menu Projet, puis sur Ajouter une nouvelle référence.
Dans la boîte de dialogue Ajouter des références , cliquez sur l’onglet correspondant à la catégorie à laquelle vous souhaitez ajouter une référence.
Note
Dans Visual C++, cliquez sur l’onglet Parcourir dans la boîte de dialogue Ajouter des références .
Cliquez sur Parcourir, recherchez le composant souhaité sur votre lecteur local, puis cliquez sur OK. Le composant est ajouté au champ Composants sélectionnés .
Note
Dans Visual C++, recherchez le composant souhaité sur votre lecteur local.
Pour ajouter la référence sélectionnée à l’onglet actif, cliquez sur Ajouter.
Note
Dans Visual C++, cliquez sur OK pour fermer la boîte de dialogue et ajouter le composant dans la zone de liste Références dans la boîte de dialogue Page Propriétés du projet.