Versionshantering för .NET SDK, MSBuild och Visual Studio

Versionshantering av .NET SDK och hur det relaterar till Visual Studio och MSBuild kan vara förvirrande. MSBuild-versioner med Visual Studio, men ingår också i .NET SDK. SDK:t har en lägsta version av MSBuild och Visual Studio som den fungerar med, och den läses inte in i en version av Visual Studio som är äldre än den lägsta versionen.

Versionshantering

Den första delen av .NET SDK-versionen matchar den .NET-version som den innehåller, körs på och mål som standard. Funktionsbandet börjar vid 1 och ökar för varje delversion av Visual Studio varje kvartal. Korrigeringsversionen ökar med varje månads underhållsuppdateringar.

Version 7.0.203 levereras till exempel med .NET 7, är den andra mindre Visual Studio-versionen sedan 7.0.100 först kom ut och är den tredje korrigeringen sedan 7.0.200 släpptes.

Livscykel

Supporttidsramen för SDK matchar vanligtvis den i Visual Studio-versionen som den ingår i.

SDK-version MSBuild/Visual Studio-version Transportdatum Livscykel
2.1.5xx 15,9 Nov 18 Aug '21
2.1.8xx 16.2 (ingen VS) Juli '19 Aug '21
3.1.1xx 16,4 Dec '19 Okt '21
3.1.4xx 16.7 Aug '20 Dec '22
5.0.1xx 16.8 Nov '20 Mar '21
5.0.2xx 16,9 Mars '21 22 maj
5.0.3xx 16,10 21 maj Aug '21
5.0.4xx 16.11 Aug '21 22 maj
6.0.1xx 17,0 Nov '21 Nov '241
6.0.2xx 17.1 Feb '22 22 maj
6.0.3xx 17,23 22 maj Okt '23
6.0.4xx 17,3 Aug '22 Nov '242
7.0.1xx 17.4 Nov '22 24maj 1
7.0.2xx 17,53 Feb '23 23 maj
7.0.3xx 17,6 23 maj 24 maj
7.0.4xx 17,7 Aug '23 24maj 2
8.0.1xx 17.8 Nov '23 TBD
8.0.2xx 17,93 Feb '24 TBD
8.0.3xx 17.10 24 maj TBD

Kommentar

Inriktning net6.0 stöds officiellt endast i Visual Studio 17.0+ . Inriktning net7.0 stöds officiellt endast i Visual Studio 17.4+ . Inriktning net8.0 stöds officiellt endast i Visual Studio 17.8+ .

1 .1xx .NET SDK-funktionsband stöds under hela livscykeln för större .NET-versioner. Under den utökade supportperioden är stödet begränsat till säkerhetskorrigeringar och minimala icke-säkerhetskorrigeringar med hög prioritet endast för Linux. Mer information om resonemanget för det här utökade stödet finns i Stöd för källbygge.

2 .4xx .NET SDK-funktionsband stöds under hela matchande körning som fristående installationer.

3 6.0.300, 7.0.200 och 8.0.200 kräver nyare Visual Studio-versioner. Mer information finns i supportreglerna.

Livscykel för Visual Studio 2019

Livscykel för Visual Studio 2022

Mål- och supportregler

Från och med .NET SDK 7.0.100 och .NET SDK 6.0.300 har en princip införts för vilka versioner av MSBuild och Visual Studio som en viss version av .NET SDK ska köras i. Principen är:

  • Varje nytt TargetFramework kräver en ny Visual Studio-version eller en ny dotnet version.
  • Den första versionen av Visual Studio som stöder ett nytt TargetFramework blir en våning för funktionsbanden i den SDK:n för Roslyn API-ytan, MSBuild-mål, källgeneratorer, analysverktyg och så vidare.
  • Den första versionen av en ny .NET SDK som stöder ett nytt TargetFramework kan fortfarande användas med den tidigare versionen av Visual Studio så att en fjärdedel för verktyg och infrastruktur (till exempel åtgärder och pipelines) kan migreras.
SDK Visual Studio-version
SDK:et levereras med
Lägsta Visual Studio-version Max TargetFramework i
lägsta Visual Studio-version
Max TargetFramework i dotnet
6.0.100 17,0 16.11 Net5.0 Net6.0
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

Kommentar

Tabellen visar hur dessa versionsregler tillämpas framöver, från och med .NET SDK 7.0.100 och .NET SDK 6.0.300. Den visar också hur principen skulle ha tillämpats på tidigare levererade versioner av .NET SDK, om den hade varit på plats då. Kraven för tidigare versioner av SDK ändras dock inte, dvs. den lägsta nödvändiga versionen av Visual Studio för .NET SDK 6.0.100 eller 6.0.200 förblir 16.10.

1 En icke-bakåtkompatibel ändring i 7.0.300 för Blazor- och Razor-utveckling kräver Visual Studio version 17.6 eller senare. Mer information finns i dotnet/razor-problem 8718.

För att säkerställa konsekventa verktyg bör du använda dotnet build i stället msbuild för att skapa ditt program när det är möjligt.

Förhandsgranska versionshantering

Huvudversioner av .NET SDK släpps vanligtvis inom några dagar efter en Visual Studio-förhandsversion. Det kan finnas andra kombinationer som fungerar, men endast den senaste förhandsversionen testas och stöds officiellt. I följande tabell visas vilken version av Visual Studio varje .NET-förhandsversion som testades med före lanseringen.

Förhandsversion av SDK Visual Studio-version
9.0.100 Förhandsversion 1 17.10 Förhandsversion 1
9.0.100 Förhandsversion 2 17.10 Förhandsversion 2
9.0.100 Förhandsversion 3 17.10 Förhandsversion 3

Referens