Verwalten von Verweisen in einem Projekt

Gilt für:JaVisual Studio NeinVisual Studio für MacNeinVisual Studio Code

Bevor Sie Code schreiben können, der sich auf eine externe Komponente oder einen verbundenen Dienst bezieht, müssen Sie zunächst einen Verweis auf diese Komponente im Projekt einrichten. Ein Verweis ist im Prinzip ein Eintrag in einer Projektdatei, der Informationen beinhaltet, die von Visual Studio zum Auffinden der Komponente oder des Diensts benötigt.

Wie Sie einen Verweis hinzufügen, hängt vom Projekttyp für den Code ab, an dem Sie arbeiten:

  • Wenn in Projektmappen-Explorer ein Knoten "Abhängigkeiten" angezeigt wird, können Sie mit der rechten Maustaste auf das Kontextmenü klicken, um "Projektverweis hinzufügen" auszuwählen. Sie können auch mit der rechten Maustaste auf den Projektknoten klicken, und wählen Sie"Projektreferenzhinzufügen"> aus.

    Screenshot der Option

  • Wenn in Projektmappen-Explorer ein Knoten "Verweise" angezeigt wird, können Sie mit der rechten Maustaste auf das Kontextmenü klicken, um "Verweis hinzufügen" auszuwählen. Oder klicken Sie mit der rechten Maustaste auf den Projektknoten, und wählen Sie "Verweishinzufügen"> aus.

    Screenshot der Option

    Weitere Informationen finden Sie unter Vorgehensweise: Hinzufügen und Entfernen von Verweisen.

Sie können einen Verweis zu folgenden Komponenten- und Diensttypen hinzufügen:

  • .NET-Klassenbibliotheken oder -Assemblys

  • UWP-Apps

  • COM-Komponenten

  • Sonstige Assemblys oder Klassenbibliotheken von Projekten in derselben Projektmappe

  • Freigegebene Projekte

  • XML-Webdienste

Verweise von UWP-Apps

Projektverweise

Universelle Windows-Plattform (UWP)-Projekte können Verweise auf andere UWP-Projekte in der Projektmappe oder auf Windows 8.1 Projekte oder Binärdateien erstellen, sofern diese Projekte keine APIs verwenden, die in Windows 10 und höher veraltet sind. Weitere Informationen finden Sie unter Move from Windows Runtime 8 to UWP(Von Windows-Laufzeit zu UWP) (möglicherweise in englischer Sprache).

Informationen zur Neuausrichtung von Windows 8.1-Projekten auf Windows 10 und höher finden Sie unter Projektmigration und Upgradereferenz für Visual Studio.

Verweise auf Erweiterungs-SDKs

Visual Basic-, C#-, C++- und JavaScript-Universelle Windows-Plattform apps (UWP) können auf Erweiterungs-SDKs verweisen, die auf Windows 8.1 ausgerichtet sind, solange diese Erweiterungs-SDKs keine APIs verwenden, die in Windows 10 und höher veraltet sind. Überprüfen Sie die Erweiterungs-SDK-Anbieterwebsite, um herauszufinden, ob sie von UWP-Apps referenziert werden kann.

Wenn Sie feststellen, dass das Erweiterungs-SDK, auf das von Ihrer App verwiesen wird, nicht unterstützt wird, müssen Sie die folgenden 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 SDK-Version, deren Abhängigkeiten mit der Version der Plattform kompatibel sind, auf die Ihr Projekt ausgelegt ist.

    Hinweis

    Um herauszufinden, ob ein Erweiterungs-SDK von einem anderen abhängt, können Sie im Verweis-Manager nachsehen. Starten Sie Visual Studio neu, erstellen Sie ein neues C#-UWP-App-Projekt, klicken Sie dann mit der rechten Maustaste auf das Projekt, und wählen Sie Verweis hinzufügen aus. Wechseln Sie zur Registerkarte Fenster und dann zur Unterregisterkarte Erweiterungen, und wählen Sie das Erweiterungs-SDK aus. Sehen Sie sich den Verweis-Manager im rechten Bereich an. Wenn Abhängigkeiten bestehen, werden sie dort aufgeführt.

    Wichtig

    Wenn Ihr Projekt speziell auf Windows 10 ausgerichtet ist und das im vorherigen Schritt installierte Erweiterungs-SDK von Microsoft Visual C++ Runtime Package abhängt, lautet die mit Windows 10 kompatible Version von Microsoft Visual C++ Runtime Package 14.0 und wird mit Visual Studio 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 der Abhängigkeiten, die mit der Version der Plattform kompatibel sind, auf die Ihr Projekt ausgelegt ist.

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

  5. Klicken Sie im Projekt, das den Fehler verursacht hat, mit der rechten Maustaste auf den Knoten Verweise oder Abhängigkeiten und anschließend auf 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. Klicken Sie auf OK.

Hinzufügen von Verweisen zur Entwurfszeit

Wenn Sie im Projekt einen Verweis auf eine Assembly erstellen, sucht Visual Studio die Assembly an den folgenden Speicherorten:

  • 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 .)

Hinweis

  • Alle Projekte enthalten einen impliziten Verweis auf mscorlib.
  • Alle Projekte enthalten einen impliziten Verweis auf System.Core. Dies gilt auch, wenn System.Core aus der Liste der Verweise entfernt wird.
  • Visual Basic-Projekte enthalten einen impliziten Verweis auf Microsoft.VisualBasic.

Verweise auf freigegebene Komponenten zur Laufzeit

Zur Laufzeit müssen sich Komponenten entweder im Ausgabepfad des Projekts oder im Globalen Assemblycache (GAC) befinden. Wenn das Projekt einen Verweis auf ein Objekt enthält, das sich nicht an einem dieser Speicherorte befindet, müssen Sie den Verweis auf den Ausgabepfad des Projekts kopieren, wenn Sie das Projekt erstellen. Die CopyLocal -Eigenschaft gibt an, ob diese Kopie erstellt werden muss. Wenn der Wert Truelautet, wird der Verweis beim Erstellen des Projekts in das Projektverzeichnis kopiert. Wenn der Wert "False" lautet, 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 überprüft, wodurch das Risiko reduziert wird, benutzerdefinierten Code zu veröffentlichen, mit dem Sie nicht vertraut sind.

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 Truefestgelegt. Verweise zwischen Projekten werden immer auf Truefestgelegt.

Verweisen auf ein Projekt oder eine Assembly, das/die auf eine andere .NET-Version ausgerichtet ist

Sie können Anwendungen erstellen, die auf Projekte oder Assemblys verweisen, die auf eine andere Version von .NET ausgerichtet sind. Sie können z.B. eine Anwendung für .NET Framework 4.6 erstellen, die auf eine Assembly verweist, die wiederum .NET Framework 4.5 anzielt. Wenn Sie ein Projekt erstellen, das auf eine frühere Version von .NET ausgerichtet ist, können Sie keinen Verweis in diesem Projekt auf ein Projekt oder eine Assembly festlegen, die auf eine neuere Version ausgerichtet ist.

Weitere Informationen finden Sie unter Übersicht über Frameworkziele.

Projekt-zu-Projekt-Verweise

Verweise zwischen Projekten sind Verweise auf Projekte mit Assemblys. Projektverweise weisen Sie über die Registerkarte Projekte im Dialogfeld „Verweis-Manager“ hinzu. Visual Studio kann anhand eines Pfads zum Projekt nach einer Assembly suchen.

Wenn Sie ein Projekt haben, das eine Assembly erstellt, müssen Sie auf das Projekt verweisen und keinen Dateiverweis verwenden (siehe unten). Der Vorteil eines Verweises zwischen Projekten liegt darin, dass eine Abhängigkeit zwischen den Projekten im Buildsystem erzeugt wird. Das abhängige Projekt wird erstellt, wenn es sich seit der letzten Erstellung des verweisenden Projekts geändert hat. Ein Dateiverweis erstellt keine Buildabhängigkeit, sodass es möglich ist, das referenzierende Projekt zu erstellen, ohne das abhängige Projekt zu erstellen, und der Verweis kann veraltet werden. (Das heißt, das Projekt kann auf eine zuvor integrierte Version des Projekts verweisen.) Dies kann zu mehreren Versionen einer einzelnen DLL führen, die im Bin-Verzeichnis erforderlich ist, was nicht möglich ist. Wenn dieser Konflikt auftritt, wird eine Meldung wie "Warnung: Die Abhängigkeit 'Datei' im Projekt 'Project' kann nicht in das Ausführungsverzeichnis kopiert werden, da sie den Verweis 'file'" überschreiben würde. Weitere Informationen finden Sie unter Problembehandlung bei fehlerhaften Verweisen und Vorgehensweise: Erstellen und Entfernen von Projektabhängigkeiten.

Hinweis

Anstelle eines Projekt-zu-Projekt-Verweises 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.

Verweis für das freigegebene Projekt

Im Gegensatz zu den meisten anderen Projekttypen verfügt ein freigegebenes Projekt nicht über eine binäre Ausgabe. Stattdessen wird der Code in jedes Projekt kompiliert, das auf ihn verweist. Mit freigegebenen Projekten können Sie allgemeinen Code schreiben, auf den von einer Reihe verschiedener Anwendungsprojekte verwiesen wird. Der Code wird als Teil jedes verweisenden Projekts kompiliert und kann Compilerdirektiven beinhalten, um plattformspezifische Funktionen in die freigegebene Codebasis zu integrieren. Fügen Sie auf der Registerkarte Freigegebene Projekte im Dialogfeld „Verweis-Manager“ einen Verweis auf ein freigegebenes Projekt hinzu.

Dateiverweise

Dateiverweise sind direkte Verweise auf Assemblys, die sich außerhalb eines Visual Studio-Projekts befinden. Sie erstellen diese mithilfe der Registerkarte Durchsuchen im Dialogfeld „Verweis-Manager“. Dateiverweise bieten sich an, wenn Sie nur eine Assembly oder Komponente haben und nicht das Projekt, das sie als Ausgabe erstellt.

Siehe auch