Freigeben über


Hinzufügen von Verweisen zu einem verwalteten Visual C++-Projekt

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:

  1. Öffnen Sie eine Eingabeaufforderung.

  2. Navigieren Sie zum Ordner "Windows System ".

  3. Geben Sie folgenden Befehl ein:

    tlbimp shdocvw.dll /out:Interop.shdocvw.dll
    
  4. 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:
  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts.

  2. Klicken Sie auf den Ordner C/C++ .

    Notiz

    Erweitern Sie in Visual C++ Konfigurationseigenschaften, und erweitern Sie dann C/C++.

  3. Klicken Sie auf die Seite " Allgemeine Eigenschaft" .

  4. Ä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.

  1. Öffnen sie das Dialogfeld "Eigenschaftenseiten" des verwalteten C++-Projekts.

  2. Klicken Sie auf den Ordner "Buildereignisse ".

    Notiz

    Erweitern Sie in Visual C++ Konfigurationseigenschaften, und erweitern Sie dann Buildereignisse.

  3. Klicken Sie auf die Eigenschaftenseite "Post-Build-Ereignis".

  4. Ä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:

  1. Wählen Sie im Projektmappen-Explorer das -Projekt aus.

  2. 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".

  3. 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".

  4. 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.

  5. 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.