Übersicht über Frameworkziele

Gilt für:yesVisual Studio noVisual Studio für MacnoVisual Studio Code

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:

  • Es filtert Elemente im Dialogfeld " Neues Element hinzufügen ", das Dialogfeld " Neue Referenz hinzufügen " und das Dialogfeld "Dienstreferenz hinzufügen", um Auswahlmöglichkeiten auszulassen, die in der Zielversion nicht verfügbar sind.

  • Es filtert benutzerdefinierte Steuerelemente in der Toolbox , um diejenigen zu entfernen, die in der Zielversion nicht verfügbar sind, und nur die aktuellsten Steuerelemente anzuzeigen, wenn mehrere Steuerelemente 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.

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.

Framework-Dropdown in Visual Studio 2019

Wenn Sie ein .NET Framework-Projekt erstellen möchten, wird eine Benutzeroberfläche angezeigt, die dem folgenden Screenshot ähnelt:

Screenshot: Dropdownliste „Framework“ in Visual Studio 2022

Wenn Sie ein .NET-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.

Screenshot des Dialogfelds „Neues Projekt konfigurieren“ in Visual Studio 2022

Der zweite Bildschirm, der angezeigt wird, ist das Dialogfeld Zusätzliche Optionen.

Screenshot des Dialogfelds „Zusätzliche Optionen“ in Visual Studio 2022

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

  1. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für das zu ändernde Projekt per Rechtsklick, und wählen Sie Eigenschaften aus.

  2. Klicken Sie in der linken Spalte des Fensters Eigenschaften auf die Registerkarte Anwendung.

    Projekteigenschaften auf der Registerkarte „Anwendung“

    Hinweis

    Nachdem Sie eine UWP-App erstellt haben, können Sie weder die Windows-Zielversion noch die .NET-Zielversion ändern.

  3. Wählen Sie in der Liste Zielframework die gewünschte Zielversion aus.

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

  1. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für das zu ändernde Projekt per Rechtsklick, und wählen Sie Eigenschaften aus.

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

  3. Wählen Sie in der Liste Zielframework die gewünschte Zielversion aus.

    Bei einem .NET Framework-Projekt könnte das angezeigte Dialogfeld in etwa wie im folgenden Screenshot aussehen:

    Screenshot: Dialogfeld „Projekteigenschaften“ mit hervorgehobenen Optionen für .NET Framework

    Bei einem .NET-Projekt könnte das angezeigte Dialogfeld in etwa wie im folgenden Screenshot aussehen:

    Screenshot der Registerkarte „Allgemein“ im Dialogfeld „Projekteigenschaften“ mit Auswahlmöglichkeiten für das „Zielframework“

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

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.

Für .NET Framework Projekte deaktiviert das Dialogfeld "Verweis hinzufügen" Systemassemblys, die sich nicht auf das Ziel .NET Framework Version beziehen, sodass sie einem Projekt nicht versehentlich 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 als die zielorientierte Version ist, 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.

Siehe auch