Übersicht: Ausrichtung auf mehrere Zielframeworkversionen in Visual StudioVisual Studio multi-targeting overview

In Visual Studio können Sie die Version oder das Profil von .NET Framework angeben, auf die bzw. das Sie das Projekt ausrichten möchten.In Visual Studio, you can specify the version or profile of the .NET Framework that you want your project to target. Damit eine Anwendung auf einem anderen Computer ausgeführt werden kann, muss die Version von .NET Framework, auf die die Anwendung ausgerichtet ist, mit der Version von .NET Framework, die auf dem Computer installiert ist, kompatibel sein.For an application to run on another computer, the Framework version that the application targets must be compatible with the Framework version that is installed on the computer.

Sie können auch eine Projektmappe mit Projekten erstellen, die auf andere Versionen des Frameworks ausgerichtet sind.You can also create a solution that contains projects that target different versions of the framework. Durch Frameworkziele wird gewährleistet, dass die Anwendung nur die Funktionalität verwendet, die in der angegebenen Version des Frameworks verfügbar ist.Framework targeting helps guarantee that the application uses only functionality that is available in the specified version of the framework.

Tip

Sie können auch Anwendungen für unterschiedliche Plattformen als Ziel verwenden.You can also target applications for different platforms. Weitere Informationen finden Sie unter Multitargeting (Festlegen von Zielversionen).For more information, see Multitargeting.

FrameworkzielfunktionenFramework targeting features

Frameworkziele umfassen folgende Funktionen:Framework targeting includes the following features:

  • Wenn Sie ein Projekt öffnen, das auf eine frühere Version von .NET Framework.NET Framework ausgerichtet ist, kann Visual Studio das Projekt automatisch aktualisieren oder die Zielversion unverändert lassen.When you open a project that targets an earlier version of the .NET Framework.NET Framework, Visual Studio can automatically upgrade it or leave the target as-is.

  • Wenn Sie ein Projekt erstellen, können Sie die gewünschte .NET Framework-Zielversion angeben.When you create a project, you can specify the version of the .NET Framework that you want to target.

  • Sie können die Version von .NET Framework ändern, auf die ein vorhandenes Projekt abzielt.You can change the version of the .NET Framework that an existing project targets.

  • Sie können eine andere .NET Framework-Version als Zielversion für unterschiedliche Projekte in der gleichen Projektmappe festlegen.You can target a different version of the .NET Framework in each of several projects in the same solution.

  • Wenn Sie die Version von .NET Framework ändern, auf die ein Projekt ausgerichtet ist, werden in Visual StudioVisual Studio alle erforderlichen Änderungen an Verweisen und Konfigurationsdateien vorgenommen.When you change the version of the .NET Framework that a project targets, Visual StudioVisual Studio makes any required changes to references and configuration files.

Visual Studio kann dynamisch Änderungen in der Entwicklungsumgebung vornehmen, wenn Sie mit einem Projekt arbeiten, das eine frühere .NET Framework.NET Framework-Version als Ziel hat. Dazu zählen u. a. folgende Aktionen:When you work on a project that targets an earlier version of the .NET Framework.NET Framework, Visual Studio dynamically changes the development environment, as follows:

  • 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.It filters items in the Add New Item dialog box, the Add New Reference dialog box, and the Add Service Reference dialog box to omit choices that are not available in the targeted version.

  • 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.It filters custom controls in the Toolbox to remove those that are not available in the targeted version and to show the only the most up-to-date controls when multiple controls are available.

  • Filtern von IntelliSense, um Sprachfeatures auszulassen, die in der Zielversion nicht verfügbar sind.It filters IntelliSense to omit language features that are not available in the targeted version.

  • Filtern von Eigenschaften im Fenster Eigenschaften, um die Eigenschaften auszulassen, die in der Zielversion nicht verfügbar sind.It filters properties in the Properties window to omit those that are not available in the targeted version.

  • Filtern von Menüoptionen, um Optionen auszulassen, die in der Zielversion nicht verfügbar sind.It filters menu options to omit options that are not available in the targeted version.

  • Für Builds werden die Version des Compilers und die Compileroptionen verwendet, die für die Zielversion geeignet sind.For builds, it uses the version of the compiler and the compiler options that are appropriate for the targeted version.

Note

Durch Frameworkziele wird nicht garantiert, dass die Anwendung ordnungsgemäß ausgeführt wird.Framework targeting does not guarantee that your application will run correctly. Sie müssen die Anwendung dennoch testen, um sicherzustellen, dass Sie mit der Zielversion ausgeführt wird.You must test your application to make sure it runs against the targeted version. Sie können keine Frameworkversionen als Ziel verwenden, die älter als .NET Framework 2.0 sind.You cannot target framework versions that are earlier than the .NET Framework 2.0.

Auswählen einer ZielframeworkversionSelect a target framework version

Wenn Sie ein Projekt erstellen, wählen Sie die .NET Framework-Zielversion nach dem Auswählen einer Projektvorlage aus.When you create a project, select the target .NET Framework version after you select a project template. Die Liste der verfügbaren Frameworks enthält die installierten Framework-Versionen, die auf den Typ der ausgewählten Vorlage anwendbar sind.The list of available frameworks includes the installed framework versions that are applicable to the selected template type. Für Vorlagentypen, die .NET Framework nicht benötigen, z.B. .NET Core-Vorlagen, wird die Framework-Dropdownliste ausgeblendet.For template types that don't require .NET Framework, for example .NET Core templates, the Framework drop-down list is hidden.

Framework-Dropdownliste in VS 2017

Framework-Dropdownliste in VS 2019

Für ein vorhandenes Projekt können Sie die .NET Framework-Zielversion über das Dialogfeld „Projekteigenschaften“ ändern.In an existing project, you can change the target .NET Framework version in the project properties dialog box. Weitere Informationen finden Sie unter Vorgehensweise: .NET Framework-Version als Ziel.For more information, see How to: Target a version of the .NET Framework.

Auflösen von System- und BenutzerassemblyverweisenResolve system and user assembly references

Um eine .NET Framework-Version als Ziel zu verwenden, müssen Sie zunächst die entsprechenden Assemblyverweise installieren.To target a .NET Framework version, you must first install the appropriate assembly references. Sie können Developer Packs für verschiedene Versionen von .NET Framework auf der Website für .NET-Downloads herunterladen.You can download developer packs for different versions of the .NET Framework on the .NET downloads page.

Über das Dialogfeld Verweis hinzufügen werden Systemassemblys deaktiviert, die nicht zur .NET Framework-Zielversion gehören, sodass sie nicht versehentlich zu einem Projekt hinzugefügt werden können.The Add Reference dialog box disables system assemblies that do not pertain to the target .NET Framework version so that they cannot be added to a project inadvertently. (Systemassemblys sind DLL-Dateien, die in einer .NET Framework-Version enthalten sind.) Verweise, die zu einer .NET Framework-Version gehören, die älter ist als die Zielversion, werden nicht aufgelöst, und Steuerelemente, die von einem solchen Verweis abhängen, können nicht hinzugefügt werden.(System assemblies are .dll files that are included in a .NET Framework version.) References that belong to a framework version that is later than the targeted version will not resolve, and controls that depend on such a reference cannot be added. 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.If you want to enable such a reference, reset the .NET Framework target of the project to one that includes the reference. Weitere Informationen finden Sie unter Vorgehensweise: .NET Framework-Version als Ziel.For more information, see How to: Target a version of the .NET Framework.

Weitere Informationen zu Assemblyverweisen finden Sie unter Auflösen von Assemblys zur Entwurfszeit.For more information about assembly references, see Resolve assemblies at design time.

Aktivieren von LINQEnable 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.When you target the .NET Framework 3.5 or later, a reference to System.Core and a project-level import for System.Linq (in Visual Basic only) are added automatically. Wenn Sie LINQ-Features verwenden möchten, müssen Sie zusätzlich Option Infer aktivieren (nur in Visual Basic).If you want to use LINQ features, you must also turn Option Infer on (in Visual Basic only). Der Verweis und der Import werden automatisch entfernt, wenn Sie die Zielversion auf eine frühere .NET Framework-Version ändern.The reference and import are removed automatically if you change the target to an earlier .NET Framework version. Weitere Informationen finden Sie unter Arbeiten mit LINQ.For more information, see Work with LINQ.

Siehe auchSee also