Freigeben über


Projektverweise

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

  • .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 Webverweise in Visual Studio.

Hinzufügen von Verweisen zur Entwurfszeit

Fügen Sie im Dialogfeld "Verweis hinzufügen" Komponenten zur Entwurfszeit Verweise hinzu.

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 in Visual Studio.

Tipp

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

In Visual Studio 2010 enthalten alle Projekte 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, Version 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.

Tipp

In Visual Studio 2010 wird anstelle eines Projektverweises ein Dateiverweis erstellt, wenn die Zielversion von .NET Framework eines Projekts Version 4 ist und die Zielversion des anderen Projekts Version 2, 3 oder 3.5 ist.

Webverweise

Mit dem Dialogfeld Webverweis hinzufügen können Sie auch Webverweise hinzufügen. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen und Entfernen von Webverweisen.

Siehe auch

Aufgaben

Problembehandlung bei fehlerhaften Verweisen

Gewusst wie: Hinzufügen oder Entfernen von Verweisen in Visual Studio

Weitere Ressourcen

Verweisen auf Namespaces und Komponenten

Verwalten von Verweisen

Programmieren mit Assemblys