.NET SDK-, MSBuild- und Visual Studio-Versionsverwaltung

Die Versionsverwaltung des .NET SDK und seine Beziehung zu Visual Studio und MSBuild kann schwer verständlich sein. MSBuild wird mit Visual Studio versioniert, ist aber auch im -NET SDK enthalten. Das SDK verfügt über eine Mindestversion von MSBuild und Visual Studio, mit der es funktioniert, und es wird nicht in einer Version von Visual Studio geladen, die älter als diese Mindestversion ist.

Versionskontrolle

Der erste Teil der .NET SDK-Version entspricht der .NET-Version, die es enthält, in der es ausgeführt wird und für die es standardmäßig vorgesehen ist. Die Featuregruppe beginnt bei 1 und wird für jede vierteljährliche Visual Studio-Nebenversion heraufgesetzt. Die Patchversion wird mit den Wartungsupdates jedes Monats heraufgesetzt.

Beispiel: Version 7.0.203 wird mit .NET 7 veröffentlicht, ist die zweite Visual Studio-Nebenversion, wurde seit 7.0.100 zum ersten Mal veröffentlicht und ist der dritte Patch seit der Veröffentlichung von 7.0.200.

Lebenszyklus

Der Supportzeitrahmen für das SDK entspricht in der Regel der Visual Studio-Version, in dem es enthalten ist.

Erweitern, um nicht mehr unterstützte .NET-Versionen anzuzeigen
SDK-Version MSBuild-/Visual Studio-Version Auslieferungsdatum Lebenszyklus
2.1.5xx 15,9 Nov. 18 Aug. 21
2.1.8xx 16.2 (kein VS) Juli 19 Aug. 21
3.1.1xx 16.4 Dez. 19 Okt. 21
3.1.4xx 16.7 Aug. 20 Dez. 22
5.0.1xx 16.8 Nov. 2020 Mär. 21
5.0.2xx 16,9 März. 21 Mai 2022
5.0.3xx 16.10 Mai 21 Aug. 21
5.0.4xx 16.11 Aug. 21 Mai 2022
6.0.1xx 17.0 Nov. 2021 Nov. 24
6.0.2xx 17.1 Feb. 2022 Mai 2022
6.0.3xx 17.23 Mai 2022 Okt. 2023
6.0.4xx 17.3 Aug. 22 Nov. 24
7.0.1xx 17.4 Nov. 2022 Mai 2024
7.0.2xx 17.53 Feb. 2023 Mai 2023
7.0.3xx 17.6 Mai 2023 Mai 2024
7.0.4xx 17,7 Aug. 2023 Mai 2024

Unterstützte .NET-Versionen

SDK-Version MSBuild-/Visual Studio-Version Auslieferungsdatum Lebenszyklus
8.0.1xx 17.8 Nov. 23 Nov. 251
8.0.2xx 17.93 Feb. 24 24. Mai 3
8.0.3xx 17.10 Mai 2024 TBD
8.0.4xx 17,11 Aug. 24 Nov. 252
9.0.1xx 17.12 Nov. 24 Mai 261

Hinweis

net6.0 als Ziel wird offiziell nur in Visual Studio 17.0 und höher unterstützt. net7.0 als Ziel wird offiziell nur in Visual Studio 17.4 und höheren Versionen unterstützt. net8.0 als Ziel wird offiziell nur in Visual Studio 17.8 und höheren Versionen unterstützt.

1 Die Featuregruppen des .1xx .NET SDK werden während des gesamten Lebenszyklus von .NET-Hauptversionen unterstützt. Während des erweiterten Supportzeitraums ist der Support nur auf Sicherheitsfixes und minimale andere Fixes mit hoher Priorität und nur auf Linux beschränkt. Weitere Informationen zu den Gründen für diesen erweiterten Support finden Sie im Dokument zur Unterstützung des Quellbuilds.

2 Die Featuregruppen des .4xx .NET SDK werden für die Laufzeit der entsprechenden Runtime als eigenständige Installationen unterstützt.

3 8.0.200 erfordert eine neuere Visual Studio-Version. Weitere Informationen finden Sie in den Supportregeln.

Visual Studio 2019-Lebenszyklus

Visual Studio 2022-Lebenszyklus

Zielfestlegung und Regeln für die Unterstützung

Eine folgende Richtlinie bestimmt, in welchen Versionen von MSBuild und Visual Studio eine bestimmte Version des .NET SDK ausgeführt wird:

  • Jedes neue TargetFramework erfordert eine neue Visual Studio-Version oder eine neue dotnet-Version.
  • Die erste Version von Visual Studio, die ein neues TargetFramework unterstützt, wird die Mindestversion für die Featuregruppen dieses SDK beispielsweise für die Roslyn-API-Schnittstelle, MSBuild-Ziele, Quell-Generatoren und Analysetools.
  • Die erste Version eines neuen .NET SDK, die ein neues TargetFramework unterstützt, kann auch mit der früheren Visual Studio-Version verwendet werden, um ein Viertel der Tools und Infrastruktur (z. B. Aktionen und Pipelines) zu migrieren.
SDK Visual Studio-Version
in der das SDK enthalten ist
Mindestversion von Visual Studio TargetFramework-Höchstversion in
Mindestversion von Visual Studio
TargetFramework-Höchstversion in dotnet
6.0.200 17.1 17.0 Net6.0 Net6.0
6.0.300 17.2 17.0 Net6.0 Net6.0
6.0.400 17.3 17.0 Net6.0 Net6.0
7.0.100 17.4 17.3 Net6.0 Net7.0
7.0.200 17,5 17.4 Net7.0 Net7.0
7.0.300 17.6 17.41 Net7.0 Net7.0
7.0.400 17,7 17.4 Net7.0 Net7.0
8.0.100 17.8 17,7 Net7.0 Net8.0
8.0.200 17.9 17.8 Net8.0 Net8.0
8.0.300 17.10 17.8 Net8.0 Net8.0
8.0.400 17,11 17.8 Net8.0 Net8.0
9.0.100 17.12 17,11 Net8.0 Net9.0

Hinweis

Die Tabelle zeigt, wie diese Versionsverwaltungsregeln angewendet werden, beginnend mit .NET SDK 7.0.100 und .NET SDK 6.0.300. Zudem wird erläutert, wie die Richtlinie bei Verfügbarkeit auf zuvor veröffentlichte Versionen des .NET SDK angewendet worden wäre. Die Anforderungen für frühere Versionen des SDK ändern sich jedoch nicht. Dies bedeutet, dass die mindestens erforderliche Visual Studio-Version für .NET SDK 6.0.100 oder 6.0.200 die Version 16.10 bleibt.

1 Ein Breaking Change in Version 7.0.300 für die Blazor- und Razor-Entwicklung erfordert Visual Studio Version 17.6 oder höher. Weitere Informationen finden Sie unter dotnet/razor issue 8718.

Für eine konsistente Toolnutzung sollten Sie zum Erstellen Ihrer Anwendung nach Möglichkeit dotnet build anstelle von msbuild verwenden.

Versionsverwaltung für Vorschauversionen

Hauptversionen des .NET SDK werden in der Regel innerhalb weniger Tage nach einer Visual Studio-Vorschauversion veröffentlicht. Obwohl es möglicherweise andere Kombinationen gibt, die funktionieren, wird nur die neueste Veröffentlichte Vorschau getestet und offiziell unterstützt. Die folgende Tabelle zeigt, mit welcher Visual Studio-Version jede .NET-Vorschauversion vor der Veröffentlichung getestet wurde.

SDK-Vorschauversion Visual Studio-Version
9.0.100 Preview 1 17.10 Preview 1
9.0.100 Preview 2 17.10 Preview 2
9.0.100 Preview 3 17.10 Preview 3
9.0.100 Preview 4 17.11 Preview 1
9.0.100 Preview 5 17.11 Preview 2
9.0.100 Preview 6 17.11 Preview 3
9.0.100 Preview 7 17.12 Preview 1
9.0.100 RC 1 17.12 Preview 2
9.0.100 RC 2 17.12 Preview 3
9.0.100 GA 17.12 GA

Verweis