.NET SDK, MSBuild en Visual Studio-versiebeheer

De versiebeheer van de .NET SDK en hoe deze zich verhoudt tot Visual Studio en MSBuild kan verwarrend zijn. MSBuild-versies met Visual Studio, maar is ook opgenomen in de .NET SDK. De SDK heeft een minimale versie van MSBuild en Visual Studio waarmee de SDK werkt en laadt niet in een versie van Visual Studio die ouder is dan die minimale versie.

Versiebeheer

Het versienummer van de .NET SDK gebruikt de indeling major.minor.patch, waarbij:

  • major.minor komt overeen met de .NET-versie die door de SDK is inbegrepen, standaard draait en als doelversie wordt gebruikt.
  • Het honderdtal cijfer van patch identificeert de functieband—bijvoorbeeld 1xx, 2xx, of 3xx, 4xx. De functieband begint bij 1 en neemt toe voor elke kwartaal .NET SDK-release.
  • De laatste twee cijfers patch zijn de patchversie, die bij elke maandelijkse onderhoudsupdate wordt verhoogd.

Versie 7.0.203 wordt bijvoorbeeld geleverd met .NET 7, is de tweede kwartaalversie van de functieband sinds 7.0.100 is uitgebracht en is de derde patch sinds 7.0.200 uitgebracht.

Een installatie van Visual Studio bevat één overeenkomende kopie van de .NET SDK. Als u uw Visual Studio-instantie bijwerkt, wordt de .NET SDK die door Visual Studio is geïnstalleerd, ook bijgewerkt, inclusief de .NET SDK-functiebanden en belangrijke versies. Als u een andere .NET SDK wilt gebruiken dan wat door Visual Studio is geïnstalleerd, kunt u deze installeren vanaf de .NET-downloadpaginaen de Visual Studio-upgrade raakt die versie niet aan. U bent verantwoordelijk voor het bijwerken van die kopie van de .NET SDK vanaf dat jaar.

Vanaf Visual Studio 18.0 verzendt Visual Studio maandelijkse secundaire versies, terwijl de .NET SDK elk kwartaal blijft verzenden. Visual Studio-releases tussen driemaandelijkse .NET SDK-releases bevatten alleen patchversies van de nieuwste .NET SDK.

Notitie

De .NET SDK biedt ondersteuning voor downlevel versies van .NET. Daarom raden we u aan uw .NET SDK altijd bij te werken samen met uw Visual Studio-versie.

Levenscyclus

De ondersteuningsperiode voor de SDK komt doorgaans overeen met die van de Visual Studio-versie waarin deze is opgenomen.

Klik om niet-ondersteunde .NET-versies weer te geven
SDK-versie MSBuild/Visual Studio-versie Verzenddatum Levenscyclus
2.1.5xx 15.9 Nov 18 aug '21
2.1.8xx 16.2 (Geen VS) Juli '19 aug '21
3.1.1xx 16.4 dec. '19 21 oktober
3.1.4xx 16.7 aug '20 22 december
5.0.1xx 16.8 November '20 mrt. '21
5.0.2xx 16.9 21 maart 22 mei
5.0.3xx 16,10 21 mei aug '21
5.0.4xx 16.11 aug '21 22 mei
6.0.1xx 17,0 21 november November '24
6.0.2xx 17.1 22 februari 22 mei
6.0.3xx 17.23 22 mei 23 oktober
6.0.4xx 17.3 aug '22 November '24
7.0.1xx 17.4 22 november 24 mei
7.0.2xx 17,53 23 februari 23 mei
7.0.3xx 17.6 23 mei 24 mei
7.0.4xx 17.7 aug '23 24 mei

Ondersteunde .NET-versies

SDK-versie MSBuild/Visual Studio-versie Verzenddatum Levenscyclus
8.0.1xx 17.8 23 november 26 november1
8.0.2xx 17.9 24 februari 24 mei
8.0.3xx 17.10 24 mei Jan '26
8.0.4xx 17.11 24 aug 26 november2
9.0.1xx 17.12 November '24 Mei '26
9.0.2xx 17.13 25 februari Mei '25
9.0.3xx 17.14 Mei '25 26 november2
10.0.1xx 18,0 25 november November '28
10.0.2xx 18.4 Mar '26 Mei '26

Notitie

1 .1xx .NET SDK-functiebanden worden gedurende de levenscyclus van primaire .NET-versies ondersteund. Tijdens de verlengde ondersteuningsperiode is de ondersteuning beperkt tot beveiligingsupdates en minimale niet-beveiligingsupdates met hoge prioriteit voor alleen Linux. Zie Source-build-ondersteuning voor meer informatie over de redenering voor deze uitgebreide ondersteuning.

2 De laatste .NET SDK-functiebanden van een primaire versie worden ondersteund voor de levensduur van de overeenkomende runtime als zelfstandige installaties.

Levenscyclus van Visual Studio 2026

Levenscyclus van Visual Studio 2022

Levenscyclus van Visual Studio 2019

Regels voor targeting en ondersteuning

Het volgende beleid bepaalt in welke versies van MSBuild en Visual Studio een bepaalde versie van de .NET SDK wordt uitgevoerd:

  • Voor elk nieuw TargetFramework is een nieuwe versie van Visual Studio of een andere versie vereist.
  • De eerste versie van Visual Studio die ondersteuning biedt voor een nieuw TargetFramework wordt een basis voor de functiebanden van die SDK voor Roslyn-API-oppervlak, MSBuild-targets, brongeneratoren, analyzers, enzovoort.
  • De eerste versie van een nieuwe .NET SDK die ondersteuning biedt voor een nieuw TargetFramework, kan nog steeds worden gebruikt met de vorige versie van Visual Studio, zodat een kwart voor hulpprogramma's en infrastructuur (bijvoorbeeld acties en pijplijnen) kan worden gemigreerd.
SDK Visual Studio-versie
de SDK wordt geleverd met
Minimale Versie van Visual Studio Maximaal TargetFramework in
minimale Versie van Visual Studio
Maximaal TargetFramework in dotnet
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
9.0.200 17.13 17.12 Net9.0 Net9.0
9.0.300 17.14 17.12 Net9.0 Net9.0
10.0.100 18,0 17.14 Net9.0 Net10.0
10.0.200 18.4 18,0 Net10.0 Net10.0

Notitie

In de tabel ziet u hoe deze versiebeheerregels worden toegepast, te beginnen met .NET SDK 7.0.100 en .NET SDK 6.0.300. Het geeft ook weer hoe het beleid zou zijn toegepast op eerder verzonden versies van de .NET SDK, als het toen was ingesteld. De vereisten voor eerdere versies van de SDK veranderen echter niet. Dat wil gezegd: de minimaal vereiste versie van Visual Studio voor .NET SDK 6.0.100 of 6.0.200 blijft 16.10.

Targeting net8.0 wordt officieel ondersteund in Visual Studio 17.8+ alleen.

Het richten op net9.0 wordt officieel ondersteund in Visual Studio 17.12+ alleen.

Het gebruik van net10.0 wordt officieel alleen ondersteund in Visual Studio 18.0+.

Om consistente toolondersteuning te garanderen, moet u dotnet build gebruiken in plaats van msbuild om uw toepassing te bouwen wanneer mogelijk.

Ondersteuningsmatrix voor SDK en Visual Studio

Hoewel de meeste ontwikkelaars de .NET SDK gebruiken die is gebundeld met hun Visual Studio-versie, hebben sommige configuraties betrekking op niet-overeenkomende SDK- en Visual Studio-versies. Er is geen garantie dat elke Visual Studio-versie werkt met elke in-support .NET SDK. De meest voorkomende configuraties worden getest om een optimale compatibiliteit te garanderen.

Compatibiliteit met eerdere en voorwaartse versies

  • Primaire ondersteunde configuratie: gebruik de SDK-versie die is gebundeld met uw Visual Studio-installatie
    • Visual Studio 17.14 en .NET 9.0.3xx
    • Visual Studio 18.0 en .NET 10.0.1xx
  • Compatibiliteit met eerdere versies: Het gebruik van de nieuwste functieband van de vorige SDK-versie (bijvoorbeeld 8.0.4xx in Visual Studio 17.14) wordt ondersteund met compatibiliteit met best effort. Het .NET-team bepaalt wanneer het terugporten van oplossingen plaatsvindt op basis van risico en klantimpact. Hoewel SDK's die ouder zijn dan de meest recente van de vorige band mogelijk werken, test het .NET-team deze niet of probeert het compatibiliteit te garanderen.
  • Forward Compatibility: Het gebruik van een nieuwere SDK (bijvoorbeeld .NET 10 SDK in Visual Studio 17.14) is toegestaan zonder beperkingen, maar het richten op nieuwere runtimes in oudere Visual Studio-versies wordt niet ondersteund en geeft een build-waarschuwing.

Begeleiding

Gebruik de SDK die is geleverd met uw Visual Studio-exemplaar (of de nieuwste versie die beschikbaar is in CI of Visual Studio Code), omdat die versie altijd beschikt over de nieuwste functies, waaronder beveiligingsupdates.

Ondersteuning op lager niveau

De .NET SDK onderhoudt gerichte ondersteuning voor out-of-support .NET-versies. De SDK 10.0.100 kan apps bouwen die zich richten op net9.0 tot en met netcoreapp1.0.

Leidende principes

  • Bestaande ondersteuning behouden: ondersteuning voor out-of-support-versies blijft in de SDK aanwezig zonder actieve verwijdering. Klanten die hun SDK- of Visual Studio-versie upgraden, mogen hun builds niet laten breken door alleen een oudere .NET-versie te gebruiken.
  • Nieuwe functies: nieuwe SDK-functies zijn niet vereist om out-of-support-versies te ondersteunen, tenzij dergelijke ondersteuning aanzienlijke kosten of risico's met zich meebrengt.
  • Oplossingen voor defecten: Als er problemen optreden bij het richten op out-of-support-versies, wordt een oplossing toegepast op basis van de kosten die hiermee gemoeid zijn. Het doel is om te voorkomen dat klanten worden gebroken tijdens de upgrade.

Preview-versiebeheer

Primaire versies van de .NET SDK worden doorgaans binnen een paar dagen na een preview-versie van Visual Studio uitgebracht. Hoewel er mogelijk andere combinaties werken, wordt alleen de nieuwste preview getest en officieel ondersteund. In de volgende tabel ziet u welke versie van Visual Studio elke .NET preview-versie is getest met vóór de release.

PREVIEW-versie van SDK Visual Studio-versie
10.0.100 RC 1 18.0.0 Insiders (11010.61)
10.0.100 RC 2 18.0.0 Insiders (11111.16)
11.0.100 Preview 1 18.4.0 Insiders
11.0.100 Preview 2 18.5.0 Insiders

Verwijzing