SDK .NET, MSBuild et contrôle de version Visual Studio
Le contrôle de version du Kit de développement logiciel (SDK) .NET et la façon dont il se rapporte à Visual Studio et MSBuild peut prêter à confusion. Versions MSBuild avec Visual Studio également incluses dans le SDK .NET. Le SDK a une version minimale de MSBuild et de Visual Studio avec laquelle il fonctionne, et il ne se charge pas dans une version de Visual Studio antérieure à cette version minimale.
Gestion de version
La première partie de la version du SDK .NET correspond à la version .NET qu’il inclut, sur laquelle il fonctionne et qu’il cible par défaut. La bande de fonctionnalités commence à 1 et augmente pour chaque version mineure de Visual Studio tous les trimestres. La version de patch incrémente avec les mises à jour de maintenance de chaque mois.
Par exemple, la version 7.0.203, fournie avec .NET 7, est la deuxième version mineure de Visual Studio depuis la version 7.0.100, et le troisième patch depuis la version 7.0.200.
Cycle de vie
La période de prise en charge du SDK correspond généralement à celle de la version de Visual Studio qui l’inclut.
Développer pour voir les versions .NET sans prise en charge
Version du SDK | Version MSBuild/Visual Studio | Date d’expédition | Cycle de vie |
---|---|---|---|
2.1.5xx | 15,9 | Novembre 2018 | Août 2021 |
2.1.8xx | 16.2 (sans VS) | Juillet 2019 | Août 2021 |
3.1.1xx | 16.4 | Décembre 2019 | Octobre 2021 |
3.1.4xx | 16.7 | Août 2020 | Décembre 2022 |
5.0.1xx | 16.8 | Novembre 2020 | Mars 2021 |
5.0.2xx | 16,9 | Mars 2021 | Mai 2022 |
5.0.3xx | 16,10 | Mai 2021 | Août 2021 |
5.0.4xx | 16.11 | Août 2021 | Mai 2022 |
7.0.1xx | 17.4 | Novembre 2022 | Mai 24 |
7.0.2xx | 17.53 | Février 2023 | Mai 2023 |
7.0.3xx | 17.6 | Mai 2023 | Mai 24 |
7.0.4xx | 17,7 | Août 2023 | Mai 24 |
Versions .NET prises en charge
Version du SDK | Version MSBuild/Visual Studio | Date d’expédition | Cycle de vie |
---|---|---|---|
6.0.1xx | 17,0 | Novembre 2021 | Nov 20241 |
6.0.2xx | 17.1 | Février 2022 | Mai 2022 |
6.0.3xx | 17.23 | Mai 2022 | Octobre 2023 |
6.0.4xx | 17.3 | Août 2022 | 24 novembre2 |
8.0.1xx | 17.8 | Novembre 2023 | Novembre 251 |
8.0.2xx | 17.93 | Février 2024 | Mai 24 |
8.0.3xx | 17.10 | Mai 24 | À définir |
8.0.4xx | 17.11 | Août 24 | Novembre 252 |
9.0.1xx | 17.12 | 24 novembre | 26 mai1 |
Remarque
Le ciblage net6.0
est officiellement pris en charge dans Visual Studio 17.0+ uniquement.
Le ciblage net7.0
est officiellement pris en charge dans Visual Studio 17.4+ uniquement.
Le ciblage de net8.0
est officiellement pris en charge dans Visual Studio 17.8+ uniquement.
1 . Les bandes de fonctionnalités du SDK .1xx sont prises en charge tout au long du cycle de vie des principales versions de .NET. Pendant la période de support étendue, la prise en charge est limitée aux correctifs de sécurité et aux correctifs de sécurité à priorité élevée minimum pour Linux uniquement. Pour découvrir plus d’informations sur le raisonnement de ce support étendu, consultez Prise en charge de la génération source.
2Les bandes de fonctionnalités du SDK .NET .4xx sont prises en charge pendant la durée de vie du runtime correspondant en tant qu’installations autonomes.
3 6.0.300, 7.0.200 et 8.0.200 nécessitent des versions plus récentes de Visual Studio. Pour plus d’informations, consultez les règles de prise en charge.
Ciblage et règles de support
À compter du SDK .NET 7.0.100 et du SDK .NET 6.0.300, une stratégie a été mise en place concernant les versions de MSBuild et Visual Studio dans lesquelles une version donnée du SDK .NET s’exécute. Cette stratégie est la suivante :
- Chaque nouveau TargetFramework nécessite une nouvelle version de Visual Studio ou une nouvelle version de
dotnet
. - La première version de Visual Studio qui prend en charge un nouveau TargetFramework devient un plancher pour les bandes de fonctionnalités de ce Kit de développement logiciel (SDK) pour la surface de l’API Roslyn, les cibles MSBuild, les générateurs de source, les analyseurs, etc.
- La première version d’un nouveau SDK .NET qui prend en charge un nouveau TargetFramework peut toujours être utilisée avec la version précédente de Visual Studio pour permettre un trimestre pour la migration des outils et de l’infrastructure (actions et pipelines, par exemple).
Kit SDK | Version Visual Studio fournie avec le SDK |
Version minimale de Visual Studio | TargetFramework max dans version minimale de Visual Studio |
TargetFramework max dans 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 |
Remarque
Le tableau montre comment ces règles de contrôle de version seront appliquées à l’avenir, à compter du SDK .NET 7.0.100 et du SDK .NET 6.0.300. Il montre également comment la stratégie aurait été appliquée aux versions précédemment fournies du SDK .NET si elle avait été en place. Toutefois, les conditions requises pour les versions précédentes du kit de développement logiciel (SDK) ne changent pas, à savoir que la version minimale requise de Visual Studio pour le kit de développement logiciel (SDK) .NET 6.0.100 ou 6.0.200 reste la version 16.10.
1 Un changement cassant dans la version 7.0.300 pour le développement Blazor et Razor impose l’utilisation de Visual Studio version 17.6 ou ultérieure. Pour plus d’informations, consultez Problème dotnet/razor 8718.
Afin de garantir la cohérence des outils, vous devez utiliser dotnet build
plutôt que msbuild
pour générer votre application lorsque cela est possible.
Préversions
Les versions principales du SDK .NET sont généralement publiées quelques jours après une préversion de Visual Studio. Bien qu’il existe d’autres combinaisons qui fonctionnent, seule la dernière préversion publiée est testée et officiellement prise en charge. Le tableau suivant montre avec quelle version de Visual Studio chaque préversion de .NET a été testée avant d’être publiée.
Préversion du SDK | Version de Visual Studio |
---|---|
9.0.100 Préversion 1 | 17.10 Préversion 1 |
9.0.100 Préversion 2 | 17.10 Préversion 2 |
9.0.100 Préversion 3 | 17.10 Préversion 3 |
9.0.100 Préversion 4 | 17.11 Préversion 1 |
9.0.100 Préversion 5 | 17.11 Préversion 2 |
9.0.100 Préversion 6 | 17.11 Préversion 3 |
9.0.100 Préversion 7 | 17.12 Préversion 1 |
9.0.100 RC 1 | 17.12 Préversion 2 |
9.0.100 RC 2 | 17.12 Préversion 3 |