Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält Informationen zum Hinzufügen von Verweisen auf ein verwaltetes Visual C++-Projekt.
Originalproduktversion: Visual C++
Ursprüngliche KB-Nummer: 310674
Zusammenfassung
In diesem Artikel wird das Hinzufügen eines Verweises auf eine andere Assembly in einem Visual C++-Projekt beschrieben. In anderen Sprachen, z. B. Visual C#, können Sie über das Dialogfeld "Verweis hinzufügen" einen Verweis hinzufügen. Dieses Dialogfeld ist für verwaltete C++-Anwendungen nicht verfügbar. Es gibt mehrere Tipps, die die Verwendung von Verweisen in einer verwalteten C++-Anwendung vereinfachen.
Microsoft .NET-Verweise
.NET-Verweise verweisen auf freigegebene Assemblys. Die Assembly System.Windows.Forms.dll ist beispielsweise eine Standardassembly für den Zugriff auf die Windows Forms-Klassen. Um diese Assembly in einer verwalteten C++-Anwendung zu verwenden, müssen Sie einfach mit einer #using
Präprozessordirektive darauf verweisen, wie hier gezeigt:
#using <System.Windows.Forms.dll>
COM-Verweise
Die Verwendung eines COM-Objekts (Component Object Model) in einer verwalteten C++-Anwendung umfasst eine Entwurfsentscheidung. Eine Möglichkeit besteht darin, nicht verwalteten COM-Code innerhalb einer verwalteten Klasse zu verwenden. Beispielsweise können Sie sich für die Verwendung der herkömmlichen #import
Lösung entscheiden. Dies kann eine gute Option für Fälle sein, in denen Probleme bei der Verwendung von COM-Interoperabilität auftreten.
Die zweite Option besteht darin, Interopassemblys zu verwenden, die das COM-Objekt umschließen. Dies ist die einzige Methode, die anderen Sprachen wie C# und Visual Basic .NET zur Verfügung steht. Verwenden Sie das TLBIMP.exe Tool, um eine Interopassembly für ein COM-Objekt zu erstellen. Führen Sie beispielsweise die folgenden Schritte aus, um Internet Explorer aus einer verwalteten Anwendung zu automatisieren:
Öffnen Sie eine Eingabeaufforderung.
Navigieren Sie zum Ordner "Windows System ".
Geben Sie folgenden Befehl ein:
tlbimp shdocvw.dll /out:Interop.shdocvw.dll
Verschieben Sie Interop.shdocvw.dll in Ihren Projektordner.
Dadurch wird eine Interopassembly für die COM-Objekte in Shdocvw.dll erstellt. Die resultierende Datei Interop.shdocvw.dll kann mit einer #using
Direktive verwendet werden. Sie kann dann als verwaltete Komponente behandelt werden. Anweisungen zum automatischen Kopieren dieser Dll (Dynamic Link Library) in den Ausgabeordner finden Sie im Abschnitt "Verwenden von Postbuildereignissen " in diesem Artikel.
Notiz
Die Umgebungsvariablen für Visual C++ müssen festgelegt werden, damit TLBIMP.exe erkannt werden können. Wenn sie nicht festgelegt sind, müssen Sie zuerst in Visual Studio .NET oder ./VC/BIN/VCVARS32.bat
in Visual Studio und Visual C++ Express Edition ausgeführt ./VC7/BIN/VCVARS32.bat
werden.
Projektverweise
Projektverweise sind Verweise auf Assemblys, die von anderen Projekten erstellt wurden. Auch hier wird die #using
Direktive verwendet, um auf diese Assemblys zu verweisen. Da diese Assemblys jedoch nicht freigegeben sind, müssen Sie Maßnahmen ergreifen, um sicherzustellen, dass der Compiler sie finden kann. Hierfür gibt es zwei Methoden:
- Kopieren Sie die Assembly in den Projektordner.
- Ändern Sie die Projekteinstellungen, um nach der Assembly zu suchen:
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts.
Klicken Sie auf den Ordner C/C++ .
Notiz
Erweitern Sie in Visual C++ Konfigurationseigenschaften, und erweitern Sie dann C/C++.
Klicken Sie auf die Seite " Allgemeine Eigenschaft" .
Ändern Sie die Eigenschaft Resolve #using References so, dass sie auf den Ordner verweist, der die Zielassembly enthält.
Verwenden von Postbuildereignissen
Private Assemblys müssen sich im selben Ordner wie die ausführbare Datei befinden, die sie verwendet. Wenn Sie einen Verweis in Visual C#, in Visual Basic .NET oder in Visual Basic hinzufügen, wird er automatisch in den Ausgabeordner kopiert. In einer verwalteten C++-Anwendung kann dieser Schritt mithilfe von post-build
Ereignissen automatisiert werden. Betrachten Sie beispielsweise ein Szenario, in dem Sie eine Assembly mit dem Namen MYLIB.dll im Projektordner Ihrer verwalteten C++-Anwendung namens TestApp haben. Die folgenden Schritte richten ein post-build
Ereignis ein, das diese DLL in den Ausgabeordner des TestApp-Projekts kopiert.
Öffnen sie das Dialogfeld "Eigenschaftenseiten" des verwalteten C++-Projekts.
Klicken Sie auf den Ordner "Buildereignisse ".
Notiz
Erweitern Sie in Visual C++ Konfigurationseigenschaften, und erweitern Sie dann Buildereignisse.
Klicken Sie auf die Eigenschaftenseite "Post-Build-Ereignis".
Ändern Sie die Befehlszeileneigenschaft in den folgenden Befehl:
copy $(<ProjectDir>)mylib.dll $(<TargetDir>)
Verwenden von Visual C++ .NET oder Visual C++
Mithilfe von Visual C++ .NET oder Visual C++ können Sie mithilfe des Dialogfelds "Verweis hinzufügen" einen Verweis hinzufügen. Führen Sie die folgenden Schritte aus, um einen Projektverweis hinzuzufügen:
Wählen Sie im Projektmappen-Explorer das -Projekt aus.
Klicken Sie im Menü "Projekt " auf " Verweise hinzufügen".
Notiz
Klicken Sie in Visual C++ im Menü "Projekt" auf "Verweise", und klicken Sie dann auf "Neuen Verweis hinzufügen".
Klicken Sie im Dialogfeld "Verweise hinzufügen" auf die Registerkarte, die der Kategorie entspricht, der Sie einen Verweis hinzufügen möchten.
Notiz
Klicken Sie in Visual C++ im Dialogfeld "Verweise hinzufügen" auf die Registerkarte "Durchsuchen".
Klicken Sie auf " Durchsuchen", suchen Sie die gewünschte Komponente auf dem lokalen Laufwerk, und klicken Sie dann auf "OK". Die Komponente wird dem Feld "Ausgewählte Komponenten " hinzugefügt.
Notiz
Suchen Sie in Visual C++ die gewünschte Komponente auf Dem lokalen Laufwerk.
Klicken Sie auf "Hinzufügen", um den ausgewählten Verweis zur aktuellen Registerkarte hinzuzufügen.
Notiz
Klicken Sie in Visual C++ auf 'OK ', um das Dialogfeld zu schließen und die Komponente im Listenfeld 'Verweise ' im Dialogfeld 'Eigenschaftenseite ' des Projekts hinzuzufügen.