Übersicht über Frameworkziele
In Visual Studio können Sie die Version von .NET angeben, auf die Sie das Projekt ausrichten möchten. Durch Frameworkziele wird gewährleistet, dass die Anwendung nur diejenigen Funktionen verwendet, die in der angegebenen Frameworkversion verfügbar sind. Damit .NET Framework-Apps auf einem anderen Computer ausgeführt werden können, muss die Frameworkversion, auf die die Anwendung ausgerichtet ist, mit der Frameworkversion kompatibel sein, die auf dem Computer installiert ist.
Eine Visual Studio-Projektmappe kann Projekte für verschiedene Versionen von .NET enthalten. Beachten Sie jedoch, dass Sie einen Build nur für eine einzelne Version von .NET erstellen können, indem Sie entweder auf Bedingungen für einen einzelnen Build verweisen oder verschiedene Binärdateien für jede Version rekursiv erstellen. Weitere Informationen zu Zielframeworks finden Sie unter Zielframeworks.
Tipp
Sie können auch Anwendungen für unterschiedliche Plattformen als Ziel verwenden. Weitere Informationen finden Sie unter Multitargeting (Festlegen von Zielversionen).
Frameworkzielfunktionen
Frameworkziele umfassen folgende Funktionen:
Wenn Sie ein Projekt öffnen, das auf eine frühere Frameworkversion ausgerichtet ist, kann Visual Studio automatisch ein Upgrade des Projekts durchführen oder die Zielversion unverändert lassen.
Beim Erstellen eines .NET Framework-Projekts können Sie die gewünschte .NET Framework-Zielversion angeben.
Sie können in einem einzelnen Projekt mehrere Frameworks als Ziel verwenden.
Sie können für jedes der verschiedenen Projekte in der gleichen Projektmappe eine andere .NET-Version als Ziel festlegen.
Sie können die .NET-Version ändern, auf die ein vorhandenes Projekt ausgerichtet ist.
Wenn Sie die Version von .NET ändern, auf die ein Projekt ausgerichtet ist, führt Visual Studio alle erforderlichen Änderungen an Verweisen und Konfigurationsdateien durch.
Visual Studio ändert die Entwicklungsumgebung dynamisch, wenn Sie an einem Projekt arbeiten, das eine frühere Frameworkversion als Ziel hat. Dazu zählen u.a. folgende Aktionen:
Filtern von Elementen in den Dialogfeldern Neues Element hinzufügen, Neuen Verweis hinzufügen und Dienstverweis hinzufügen, um die Optionen auszulassen, die in der Zielversion nicht verfügbar sind
Filtern von benutzerdefinierten Steuerelementen in der Toolbox, um die Steuerelemente zu entfernen, die in der Zielversion nicht verfügbar sind, und um nur die neuesten Steuerelemente anzuzeigen, wenn mehrere Steuerelemente für die Zielversion verfügbar sind
Filtern von IntelliSense, um Sprachfeatures auszulassen, die in der Zielversion nicht verfügbar sind.
Filtern von Eigenschaften im Fenster Eigenschaften, um Eigenschaften auszulassen, die in der Zielversion nicht verfügbar sind.
Filtern von Menüoptionen, um Optionen auszulassen, die in der Zielversion nicht verfügbar sind.
Für Builds werden die Version des Compilers und die Compileroptionen verwendet, die für die Zielversion geeignet sind.
Hinweis
- Durch Frameworkziele wird nicht garantiert, dass die Anwendung ordnungsgemäß ausgeführt wird. Sie müssen die Anwendung dennoch testen, um sicherzustellen, dass Sie mit der Zielversion ausgeführt wird.
- Sie können keine Frameworkversionen als Ziel verwenden, die älter als .NET Framework 2.0 sind.
Ändern des Zielframeworks
In einem vorhandenen Visual Basic-, C#- oder F#-Projekt können Sie die .NET-Zielversion im Dialogfeld „Projekteigenschaften“ ändern. Weitere Informationen zum Ändern der Zielversion für C++-Projekte finden Sie stattdessen unter Vorgehensweise: Ändern des Zielframeworks und des Plattformtoolsets.
Öffnen Sie im Projektmappen-Explorer das Kontextmenü für das zu ändernde Projekt per Rechtsklick, und wählen Sie Eigenschaften aus.
Klicken Sie in der linken Spalte des Fensters Eigenschaften auf die Registerkarte Anwendung.
Hinweis
Nachdem Sie eine UWP-App erstellt haben, können Sie weder die Windows-Zielversion noch die .NET-Zielversion ändern.
Wählen Sie in der Liste Zielframework die gewünschte Zielversion aus.
Wählen Sie im daraufhin angezeigten Überprüfungsdialogfeld die Schaltfläche Ja aus.
Das Projekt wird entladen. Wenn es erneut geladen wird, verwendet es die .NET-Zielversion, die Sie soeben ausgewählt haben.
Öffnen Sie im Projektmappen-Explorer das Kontextmenü für das zu ändernde Projekt per Rechtsklick, und wählen Sie Eigenschaften aus.
Klicken Sie in der linken Spalte des Fensters Eigenschaften auf die Registerkarte Anwendung.
Hinweis
Nachdem Sie eine UWP-App erstellt haben, können Sie weder die Windows-Zielversion noch die .NET-Zielversion ändern.
Wählen Sie in der Liste Zielframework die gewünschte Zielversion aus.
Bei einem .NET Framework-Projekt sieht das angezeigte Dialogfeld möglicherweise ähnlich wie im folgenden Screenshot aus:
Bei einem .NET-Projekt sieht das Dialogfeld möglicherweise ähnlich wie im folgenden Screenshot aus:
Wenn daraufhin ein Überprüfungsdialogfeld angezeigt wird, wählen Sie die Schaltfläche Ja aus.
Das Projekt wird entladen. Wenn es erneut geladen wird, verwendet es die .NET-Zielversion, die Sie soeben ausgewählt haben.
Hinweis
Sollte der Code Verweise auf eine .NET-Version enthalten, die nicht die Zielversion ist, werden möglicherweise Fehlermeldungen angezeigt, wenn Sie den Code kompilieren oder ausführen. Um diese Fehler zu beheben, müssen Sie die Verweise ändern. Weitere Informationen finden Sie unter Problembehandlung bei .NET-Zielversionsfehlern.
Tipp
Je nach Zielframework kann es auf folgende Weise in der Projektdatei dargestellt werden:
- Für eine .NET Core-App:
<TargetFramework>netcoreapp2.1</TargetFramework>
- Für eine .NET Standard-App:
<TargetFramework>netstandard2.0</TargetFramework>
- Für eine .NET Framework-App:
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
Auswählen einer Zielframeworkversion
Wenn Sie ein .NET Framework-Projekt erstellen, können Sie die .NET Framework-Zielversion nach der Projektvorlage auswählen. Die Liste der verfügbaren Frameworks enthält die installierten Framework-Versionen, die auf den Typ der ausgewählten Vorlage anwendbar sind. Bei Projektvorlagen ohne .NET Framework, z.B. .NET Core-Vorlagen, wird die Framework-Dropdownliste nicht angezeigt.
Wenn Sie ein .NET Framework-Projekt erstellen möchten, wird eine Schnittstelle angezeigt, die dem folgenden Screenshot ähnelt:
Wenn Sie ein ..NET Framework-Projekt erstellen möchten, wird eine Benutzeroberfläche angezeigt, die den folgenden beiden Screenshots ähnelt.
Der erste Bildschirm, der angezeigt wird, ist das Dialogfeld Neues Projekt konfigurieren.
Der zweite Bildschirm, der angezeigt wird, ist das Dialogfeld Zusätzliche Optionen.
Auflösen von System- und Benutzerassemblyverweisen
Um eine .NET-Version als Ziel zu verwenden, müssen Sie zunächst die entsprechenden Assemblyverweise installieren. Sie können Entwicklerpakete für verschiedene .NET-Versionen von der Website .NET-Downloads herunterladen.
Bei .NET Framework-Projekten deaktiviert das Dialogfeld Verweis hinzufügen Systemassemblys, die nicht zur .NET Framework-Zielversion gehören, sodass sie nicht versehentlich zu einem Projekt hinzugefügt werden können. (Systemassemblys sind DLL-Dateien, die in einer .NET Framework-Version enthalten sind.) Verweise, die zu einer Frameworkversion gehören, die höher ist als die Zielversion, werden nicht aufgelöst, und Steuerelemente, die von einem solchen Verweis abhängen, können nicht hinzugefügt werden. Wenn Sie einen solchen Verweis aktivieren möchten, setzen Sie das .NET Framework-Ziel des Projekts auf eine Version zurück, die den Verweis enthält.
Weitere Informationen zu Assemblyverweisen finden Sie unter Auflösen von Assemblys zur Entwurfszeit.
Aktivieren von LINQ
Wenn Sie .NET Framework 3.5 oder eine höhere Version als Ziel verwenden, werden automatisch ein Verweis auf System.Core und ein Import auf Projektebene für System.Linq (nur in Visual Basic) hinzugefügt. Wenn Sie LINQ-Features verwenden möchten, müssen Sie zusätzlich Option Infer
aktivieren (nur in Visual Basic). Der Verweis und der Import werden automatisch entfernt, wenn Sie die Zielversion auf eine frühere .NET Framework-Version ändern. Weitere Informationen finden Sie unter Arbeiten mit LINQ.