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.
Expandera för att se .NET-versioner som inte stöds
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 '24 |
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 '24 |
7.0.1xx | 17.4 | Nov '22 | 24 maj |
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 | 24 maj |
.NET-versioner som stöds
SDK-version | MSBuild/Visual Studio-version | Transportdatum | Livscykel |
---|---|---|---|
8.0.1xx | 17.8 | Nov '23 | Nov '251 |
8.0.2xx | 17,93 | Feb '24 | 24maj 3 |
8.0.3xx | 17.10 | 24 maj | TBD |
8.0.4xx | 17.11 | Aug '24 | Nov '252 |
9.0.1xx | 17.12 | Nov '24 | 26maj 1 |
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 8.0.200 kräver en nyare Visual Studio-version. Mer information finns i supportreglerna.
Mål- och supportregler
En följande princip avgör vilka versioner av MSBuild och Visual Studio som en viss version av .NET SDK ska köras i:
- 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.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 |
Kommentar
Tabellen visar hur dessa versionsregler tillämpas, 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 |
9.0.100 Förhandsversion 4 | 17.11 Förhandsversion 1 |
9.0.100 Förhandsversion 5 | 17.11 Förhandsversion 2 |
9.0.100 Förhandsversion 6 | 17.11 Förhandsversion 3 |
9.0.100 Förhandsversion 7 | 17.12 Förhandsversion 1 |
9.0.100 RC 1 | 17.12 Förhandsversion 2 |
9.0.100 RC 2 | 17.12 Förhandsversion 3 |
9.0.100 GA | 17.12 GA |