Verwalten von Projektverweisen

Bevor Sie Code schreiben können, der sich auf eine externe Komponente bezieht, müssen Sie zunächst einen Verweis auf diese Komponente im Projekt einrichten.Sie können einen Verweis auf die folgenden Komponententypen erstellen:

  • Verweise auf Windows Store-App

  • .NET Framework-Klassenbibliotheken oder -Assemblys

  • COM-Komponenten

  • Sonstige Assemblys oder Klassenbibliotheken von Projekten in derselben Projektmappe

  • XML-Webdienste

Weitere Informationen zu Verweisen auf XML-Webdienste finden Sie unter Web References.

Verweise auf Windows Store-App

Projektverweise

Windows Store-Projekte, die Windows 8 als Ziel verwenden, dürfen nicht von Windows Store-Projekten oder Binärdateien abhängen, die auf Windows 8.1 abzielen.

Falls ein Projekt in Ihrer App auf Windows 8.1 abzielt und die App aus einem C++-Windows Store-Projekt besteht, müssen Sie folgende Schritte ausführen:

  1. Ändern Sie die Zielversion der Projekte in Ihrer App in Windows 8.1.Klicken Sie mit der rechten Maustaste auf jedes Projekt in Ihrer App, und wählen Sie den Befehl Windows 8.1 neu zuweisen aus, klicken Sie im Dialogfeld Änderungen an Projekt und Projektmappe überprüfen auf OK.

  2. Klicken Sie mit rechten Maustaste auf jedes Visual Basic-, Visual C#- und JavaScript-Projekt, das von einem C++-Windows Store-Projekt abhängt, wählen Sie Verweis hinzufügen aus, rufen Sie die Registerkarte Windows und dann die Unterregisterkarte Erweiterungen auf, deaktivieren Sie Microsoft Visual C++ Runtime Package v11.0, aktivieren Sie Microsoft Visual C++ Runtime Package v12.0, und klicken Sie dann auf OK.

Visual Basic-, C#- und JavaScript-Windows Store-Projekte, die auf Windows 8.1 abzielen, können auf Visual Basic- und C#-Windows Store-Projekte verweisen, die auf Windows 8 abzielen, sofern diese Projekte keine APIs verwenden, die in Windows 8.1 als veraltet gelten.Siehe Migrieren von Windows 8-Apps zu Windows 8.1 Preview, um festzustellen, ob Windows Store-Projekte, die Windows 8 als Ziel verwenden, sich weiterhin erwartungsgemäß verhalten, wenn sie von einem Windows 8.1-Projekt referenziert werden.

Verweise auf das Erweiterungs-SDK

Visual Basic-, C#-, C++- und JavaScript-Windows Store-Projekte, die auf Windows 8.1 abzielen, können nicht auf Erweiterungs-SDKs verweisen, die von Microsoft Visual C++ Runtime Package v11.0 abhängen, da dies während der Laufzeit auftretende Probleme verursacht.Sie können ermitteln, ob ein Erweiterungs-SDK von Microsoft Visual C++ Runtime Package v11.0 abhängt, indem Sie ein neues C#-Windows Store-Projekt erstellen, mit der rechten Maustaste auf das Projekt klicken und Verweis hinzufügen auswählen, dann die Registerkarte Windows und die Unterregisterkarte Erweiterungen aufrufen, das Erweiterungs-SDK auswählen und prüfen, ob im rechten Bereich des Verweis-Managers die Microsoft.VCLibs, version = 11.0 als Abhängigkeit zu finden ist.

Visual Basic-, C#- und JavaScript-Windows Store-Projekte, die auf Windows 8.1 abzielen, können auf Erweiterungs-SDKs verweisen, die nicht von Microsoft Visual C++ Runtime Package v11.0 abhängen, sofern diese Erweiterungs-SDKs keine APIs verwenden, die in Windows 8.1 als veraltet gelten.Überprüfen Sie die Website des Anbieters des Erweiterungs-SDKs, um festzustellen, ob Windows Store-Projekte, die auf Windows 8.1 abzielen, auf das SKD verweisen können.

Wenn Sie feststellen, dass das Erweiterungs-SDK, auf das von Ihrer Anwendung verwiesen wird, nicht unterstützt wird, müssen Sie folgende Schritte ausführen:

  1. Schauen Sie sich den Namen des Projekts an, das den Fehler verursacht.Die Plattform, auf die Ihr Projekt abzielt, steht in Klammern neben dem Projektnamen.Beispielsweise bedeutet MyProjectName (Windows 8.1), dass das Projekt "MyProjectName" auf die Plattformversion Windows 8.1 abzielt.

  2. Wechseln Sie zur Website des Anbieters des nicht unterstützten Erweiterungs-SDKs, und installieren Sie die Version des Erweiterungs-SDKs mit Abhängigkeiten, die mit der Version der Plattform kompatibel sind, auf die Ihr Projekt abzielt.

    HinweisHinweis

    Eine Möglichkeit, um herauszufinden, ob das zuvor installierte Erweiterungs-SDK Abhängigkeiten von anderen Erweiterungs-SDKs aufweist, besteht darin, Visual Studio neu zu starten. Erstellen Sie dann ein neues C#-Windows Store-Projekt, klicken Sie mit der rechten Maustaste auf das Projekt, und wählen Sie Verweis hinzufügen, wechseln Sie zur Registerkarte Windows, wechseln Sie zur Unterregisterkarte Erweiterungen, wählen Sie das Erweiterungs-SDK aus, und schauen Sie sich den rechten Bereich des Verweis-Managers an.Wenn Abhängigkeiten bestehen, werden sie dort aufgeführt.

    Wichtiger HinweisWichtig

    Wenn Ihr Projekt auf Windows 8.1 abzielt und das im vorherigen Schritt installierte Erweiterungs-SDK von Microsoft Visual C++ Runtime Package abhängt, lautet die Version von Microsoft Visual C++ Runtime Package, die mit Windows 8.1 kompatibel ist, v12.0 und wird mit Visual Studio 2013 installiert.

  3. Wenn das im vorherigen Schritt installierte Erweiterungs-SDK von anderen Erweiterungs-SDKs abhängt, rufen Sie die Websites der entsprechenden Anbieter auf, und installieren Sie die Versionen, die mit der Version der Plattform kompatibel sind, auf die Ihr Projekt abzielt.

  4. Starten Sie Visual Studio neu, und öffnen Sie Ihre App.

  5. Klicken Sie mit der rechten Maustaste auf das Projekt, das den Fehler verursacht hat, und wählen Sie (in Visual Basic-, C#- oder JavaScript-Projekten) die Option Verweis hinzufügen oder Verweise (in C++-Projekten).Klicken Sie bei C++-Projekten auf die Schaltfläche Neuen Verweis hinzufügen.

  6. Klicken Sie auf die Registerkarte Fenster und anschließend auf die Unterregisterkarte Erweiterungen. Deaktivieren Sie dann die Kontrollkästchen für die alten Erweiterungs-SDKs, und aktivieren Sie die Kontrollkästchen für die neuen Erweiterungs-SDKs.Klicken Sie auf OK.

Hinzufügen von Verweisen zur Entwurfszeit

Um ein oder mehrere Verweise zur Entwurfszeit hinzuzufügen, verwenden Sie entweder das Dialogfeld Verweis-Manager oder das Dialogfeld Verweis hinzufügen, je nachdem, welchen Projekttyp Sie erstellen.Das Dialogfeld "Verweis-Manager" wird für alle Windows Store-Apps und die meisten anderen Projekttypen verwendet.Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen und Entfernen von Verweisen mit dem Verweis-Manager.Einige andere Projekttypen unterstützen das Dialogfeld Verweis hinzufügen.Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen oder Entfernen von Verweisen mithilfe des Dialogfelds "Verweise hinzufügen".

Sie können über das Dialogfeld Verweis hinzufügen zu nicht aufgeführten Assemblys navigieren.Sie können jedoch keine Verweise aus dem Globaler Assemblycache (GAC) hinzufügen, da er Bestandteil der Laufzeitumgebung ist.

Wenn Sie einen Verweis auf eine Assembly im Projekt erstellen, verwendet Visual Studio für die Suche der Assembly die folgenden Speicherorte:

  • Das aktuelle Projektverzeichnis. (Sie können die Assemblys über die Registerkarte Durchsuchen suchen.)

  • Andere Projektverzeichnisse in der gleichen Projektmappe. (Sie finden diese Assemblys auf der Registerkarte Projekte.)

Weitere Informationen über das Hinzufügen von Verweisen zur Entwurfszeit finden Sie unter Gewusst wie: Hinzufügen oder Entfernen von Verweisen mithilfe des Dialogfelds "Verweise hinzufügen".

HinweisHinweis

Alle Projekte enthalten einen impliziten Verweis auf "mscorlib".Visual Basic-Projekte enthalten einen impliziten Verweis auf Microsoft.VisualBasic.

Alle Projekte in Visual Studio 2010 enthalten einen impliziten Verweis auf System.Core. Dies gilt auch, wenn System.Core aus der Liste der Verweise entfernt wird.

Verweise auf freigegebene Komponenten zur Laufzeit

Zur Laufzeit müssen sich Komponenten entweder im Ausgabepfad des Projekts oder im Globaler Assemblycache (GAC) befinden.Wenn das Projekt einen Verweis auf ein Objekt enthält, der sich nicht an einem dieser Orte befindet, müssen Sie den Verweis beim Erstellen des Projekts in den Ausgabepfad des Projekts kopieren.Die CopyLocal-Eigenschaft gibt an, ob diese Kopie erstellt werden muss.Wenn der Wert True lautet, wird der Verweis beim Erstellen des Projekts in das Projektverzeichnis kopiert.Wenn der Wert False ist, wird der Verweis nicht kopiert.

Wenn Sie eine Anwendung bereitstellen, die einen Verweis auf eine im GAC registrierte benutzerdefinierte Komponente enthält, wird die Komponente unabhängig von der CopyLocal-Einstellung nicht mit der Anwendung bereitgestellt.In früheren Versionen von Visual Studio konnten Sie die CopyLocal-Eigenschaft für einen Verweis festlegen, um sicherzustellen, dass die Assembly bereitgestellt wird.Jetzt müssen Sie die Assembly manuell dem Ordner \Bin hinzufügen.Dadurch wird der gesamte benutzerdefinierte Code einer Prüfung unterzogen, und das Risiko der Veröffentlichung von unbekanntem benutzerdefinierten Code wird vermindert.

Wenn sich die Assembly bzw. Komponente im globalen Assemblycache befindet oder eine .NET Framework-Komponente ist, wird die CopyLocal-Eigenschaft standardmäßig auf False festgelegt.Andernfalls wird der Wert auf True festgelegt.Verweise zwischen Projekten werden immer auf True festgelegt.

Verweisen auf ein Projekt oder eine Assembly, die auf eine andere Version von .NET Framework abzielt

Sie können Anwendungen erstellen, die auf Projekte oder Assemblys verweisen, die auf eine andere Version von .NET Framework abzielen.Sie können z. B. eine Anwendung erstellen, die auf .NET Framework 4 Client Profile abzielt, das auf eine Assembly verweist, die wiederum auf .NET Framework 2,0 abzielt.Wenn Sie ein Projekt erstellen, das auf eine frühere Version von .NET Framework abzielt, können Sie keinen Verweis in diesem Projekt auf ein Projekt oder eine Assembly festlegen, die auf .NET Framework 4 Client Profile oder .NET Framework, Version 4, abzielt.

Weitere Informationen finden Sie unter Ausrichten auf eine bestimmte .NET Framework-Version oder ein bestimmtes .NET Framework-Profil.

Verweise zwischen Projekten und Dateiverweise

Dateiverweise sind direkte Verweise auf Assemblys, die Sie im Dialogfeld Verweis hinzufügen auf der Registerkarte Durchsuchen erstellen.Verweise zwischen Projekten sind Verweise auf Projekte mit Assemblys, die Sie im Dialogfeld Verweis hinzufügen auf der Registerkarte Projekt erstellen.

Der Vorteil eines Verweises zwischen Projekten liegt darin, dass eine Abhängigkeit zwischen den Projekten im Buildsystem erzeugt wird.Das heißt, das abhängige Projekt wird erstellt, wenn es sich seit der letzten Erstellung des verweisenden Projekts geändert hat.Bei Dateiverweisen wird keine Buildabhängigkeit erstellt, d. h., das verweisende Projekt kann ohne Erstellen des abhänigen Projekts erstellt werden, und der Verweis kann veraltet sein. (Das heißt, das Projekt kann auf eine vorher erstellte Version des Projekts verweisen.) Dies kann dazu führen, dass im BIN-Verzeichnis mehrere Versionen einer einzigen DLL erforderlich sind, was jedoch nicht möglich ist.Wenn dieser Konflikt auftritt, wird eine Meldung wie die folgende angezeigt: Fehler: Die Abhängigkeit "Datei" in Projekt "Projekt" kann nicht in das Ausführungsverzeichnis kopiert werden, da sie den Verweis "Datei" überschreiben würde.

Sie sollten keine Dateiverweise auf Ausgaben eines anderen Projekts in derselben Projektmappe hinzufügen, da dies zu Kompilierungsfehlern führen kann.Erstellen Sie Verweise zwischen Projekten in derselben Projektmappe stattdessen im Dialogfeld Verweis hinzufügen auf der Registerkarte Projekte.Dies erleichtert die Entwicklung im Team, da die in den Projekten erstellten Klassenbibliotheken besser verwaltet werden können.Weitere Informationen finden Sie unter Problembehandlung bei fehlerhaften Verweisen und Gewusst wie: Erstellen und Entfernen von Projektabhängigkeiten.

HinweisHinweis

Anstelle eines Projektverweises wird ein Dateiverweis erstellt, wenn die Zielversion von .NET Framework eines Projekts Version 4.5 ist und die Zielversion des anderen Projekts Version 2, 3, 3.5 oder 4.0 ist.

Webverweise

Mit dem Dialogfeld Webverweis hinzufügen können Sie auch Webverweise hinzufügen.Weitere Informationen finden Sie unter How to: Add and Remove Web References.

Siehe auch

Aufgaben

Problembehandlung bei fehlerhaften Verweisen

Gewusst wie: Hinzufügen oder Entfernen von Verweisen mithilfe des Dialogfelds "Verweise hinzufügen"

Konzepte

Gewusst wie: Hinzufügen und Entfernen von Verweisen mit dem Verweis-Manager

Weitere Ressourcen

Referencing Namespaces and Components

Managing References

Programmieren mit Assemblys