Versions et prise en charge de .NET

Microsoft fournit des versions majeures, des versions mineures et des mises à jour de maintenance (patchs) pour .NET. Cet article explique les types de versions, les mises à jour de maintenance, les bandes de fonctionnalités du SDK, les périodes de support et les options de support.

Remarque

Pour plus d’informations sur le versioning et la prise en charge de .NET Framework, consultez Cycle de vie de .NET Framework.

Types de versions

Les informations sur le type de chaque version sont encodées dans le numéro de version sous la forme major.minor.patch.

Par exemple :

  • .NET 6 et .NET 7 sont des versions majeures.
  • .NET Core 3.1 est la première version mineure après la version majeure .NET Core 3.0.
  • .NET Core 5.0.15 est le quinzième correctif pour .NET 5.

Pour obtenir la liste des versions publiées de .NET et pour plus d’informations sur la fréquence à laquelle .NET est fourni, consultez la politique de support.

Versions majeures

Les versions majeures incluent de nouvelles fonctionnalités, une nouvelle surface d’API publique et des correctifs de bogues. Les exemples incluent .NET 6 et .NET 7. En raison de la nature des modifications, il faut s’attendre à ce que ces versions apportent des changements cassants. Les versions majeures s’installent côte à côte avec les versions majeures précédentes.

Versions mineures

Les versions mineures incluent également de nouvelles fonctionnalités, une surface d’API publique et des correctifs de bogues, et peuvent également apporter des changements cassants. Par exemple, .NET Core 3.1. La différence entre ces versions et les versions majeures est que l’ampleur des modifications est plus faible. La mise à niveau d’une application de .NET Core 3.0 vers la version 3.1 implique une progression plus réduite. Les versions mineures s’installent côte à côte avec les versions mineures précédentes.

Mises à jour de maintenance

Les mises à jour de maintenance (correctifs) sont publiées presque tous les mois. Elles contiennent des correctifs de bogues de sécurité et non liés à la sécurité. Par exemple, .NET 5.0.8 était la huitième mise à jour pour .NET 5. Lorsque ces mises à jour incluent des correctifs de sécurité, elles sont publiées lors du « Patch Tuesday », qui est toujours le deuxième mardi du mois. Les mises à jour de maintenance maintiennent normalement la compatibilité. À compter de .NET Core 3.1, les mises à jour de maintenance sont des mises à niveau qui suppriment la mise à jour précédente. Par exemple, la dernière mise à jour de maintenance pour la version 3.1 supprime la mise à jour 3.1 précédente lorsque l’installation est réussie.

Bandes de fonctionnalités (SDK uniquement)

Le contrôle de version du SDK .NET fonctionne légèrement différemment du runtime .NET. Pour s’aligner sur les nouvelles versions de Visual Studio, les mises à jour du SDK .NET incluent parfois de nouvelles fonctionnalités ou de nouvelles versions de composants tels que MSBuild et NuGet. Ces nouvelles fonctionnalités ou nouveaux composants peuvent être incompatibles avec les versions fournies dans les mises à jour précédentes du SDK pour la même version majeure ou mineure.

Pour différencier ces mises à jour, le SDK .NET utilise le concept de bandes de fonctionnalités. Par exemple, le premier SDK .NET 5 était 5.0.100. Cette version correspond à la bande de fonctionnalités 5.0.1xx. Les bandes de fonctionnalités sont définies dans le groupe des centaines de la troisième section du numéro de version. Par exemple, 5.0.101 et 5.0.201 sont des versions dans deux bandes de fonctionnalités différentes, tandis que 5.0.101 et 5.0.199 se trouvent dans la même bande de fonctionnalités. Lorsque le SDK .NET 5.0.101 est installé, le SDK .NET 5.1.100 est supprimé de l’ordinateur, s’il existe. Lorsque le SDK .NET 5.0.200 est installé sur le même ordinateur, le SDK .NET 5.0.101 n’est pas supprimé.

Pour plus d’informations sur la relation entre le SDK .NET et les versions de Visual Studio, consultez SDK .NET, MSBuild et versioning de Visual Studio.

Restauration par progression et compatibilité du runtime

Les mises à jour majeures et mineures sont installées côte à côte avec les versions précédentes. Une application créée pour cibler une version major.minor spécifique continue d’utiliser ce runtime ciblé même si une version plus récente est installée. L’application n’est pas restaurée automatiquement pour utiliser une version major.minor plus récente du runtime, sauf si vous optez pour ce comportement. Une application créée pour cibler .NET Core 3.0 ne commence automatiquement à exécuter .NET Core 3.1. Nous vous recommandons de reconstruire l’application et de la tester avec une version majeure ou mineure plus récente du runtime avant le déploiement en production. Pour plus d’informations, consultez les sections sur la restauration par progression des applications dépendantes du framework et la restauration par progression du runtime de déploiement autonome.

Les mises à jour de maintenance sont traitées différemment des versions majeures et mineures. Une application créée pour cibler .NET 7 s’exécute sur le runtime 7.0.0 par défaut. Elle effectue automatiquement une restauration automatique pour utiliser un runtime 7.0.1 plus récent lors de l’installation de cette mise à jour de maintenance. Ce comportement est le comportement par défaut, car nous voulons que les correctifs de sécurité soient utilisés dès qu’ils sont installés sans aucune autre action nécessaire. Vous pouvez désactiver ce comportement de restauration par progression par défaut.

Cycle de vie des versions .NET

Les versions de .NET adoptent le cycle de vie moderne plutôt que le cycle de vie fixe qui était utilisé pour les versions de .NET Framework. Les produits qui adoptent un cycle de vie moderne ont un modèle de support se rapprochant d’un service, avec des périodes de support plus courtes et des versions plus fréquentes.

Pistes de mise en production

Il existe deux pistes de support pour les versions :

  • Versions de support à terme standard (STS)

    Ces versions sont supportées jusqu’à 6 mois après les versions majeures ou mineures suivantes.

    Exemple :

    • .NET 5 est une version STS et a été publiée en novembre 2020. Elle a été supportée pendant 18 mois, jusqu’en mai 2022.
    • .NET 7 est une version STS et a été publiée en novembre 2022. Elle sera supportée pendant 18 mois, jusqu’en mai 2024.
  • Versions de support à long terme (LTS)

    Ces versions sont supportées pendant un minimum de 3 ans, ou 1 an après la version LTS suivante, si cette date est ultérieure.

    Exemple :

    • .NET Core 3.1 est une version LTS et a été publiée en décembre 2019. Elle a été supportée pendant 3 ans, jusqu’en décembre 2022.
    • .NET 6 est une version LTS et a été publiée en novembre 2021. Elle sera supportée pendant 3 ans, jusqu’en novembre 2024.

Les versions alternent entre LTS et STS. Il est donc possible qu’une version antérieure soit supportée plus longtemps qu’une version ultérieure. Par exemple, .NET Core 3.1 est une version LTS ayant été prise en charge jusqu’en décembre 2022. La version .NET 5 a été publiée près d’un an plus tard, mais son support a pris fin plus tôt, en mai 2022.

Les mises à jour de maintenance sont publiées chaque mois et incluent des correctifs de sécurité et non liés à la sécurité (fiabilité, compatibilité et stabilité). Les mises à jour de maintenance sont supportées jusqu’à la publication de la mise à jour de maintenance suivante. Les mises à jour de maintenance ont un comportement de restauration par progression du runtime. Cela signifie que les applications s’exécutent par défaut avec la dernière mise à jour de maintenance du runtime installée.

Comment choisir une version

Si vous créez un service et que vous voulez continuer à le mettre à jour régulièrement, une version STS de type .NET 7 peut être votre meilleure option pour pouvoir toujours bénéficier des dernières fonctionnalités offertes par .NET.

Si vous créez une application cliente distribuée aux consommateurs, la stabilité peut être plus importante que l’accès aux dernières fonctionnalités. Votre application peut avoir besoin d’être supportée pendant une certaine période avant que le consommateur puisse effectuer la mise à niveau vers la version suivante de l’application. Dans ce cas, une version LTS de type .NET 6 peut être la bonne option.

Remarque

Nous vous recommandons de passer à la dernière version du SDK, même s’il s’agit d’une version STS, car elle peut cibler tous les runtimes disponibles.

Support pour les mises à jour de maintenance

Les mises à jour de maintenance de .NET sont supportées jusqu’à la publication de la mise à jour de maintenance suivante. La cadence de publication est mensuelle.

Vous devez installer régulièrement des mises à jour de maintenance pour vous assurer que vos applications sont dans un état sécurisé et supporté. Par exemple, si la dernière mise à jour de maintenance pour .NET 7 est 7.0.8 et que nous publions la version 7.0.9, la version 7.0.8 n’est plus la plus récente. Le niveau de maintenance supporté pour .NET 7 est alors 7.0.9.

Pour plus d’informations sur les dernières mises à jour de maintenance pour chaque version majeure et mineure, consultez la page Téléchargements .NET.

Fin de la prise en charge

La fin du support fait référence à la date après laquelle Microsoft ne fournit plus de correctifs, de mises à jour ou d’assistance technique pour une version de produit. Avant cette date, vérifiez que vous êtes passé à l’utilisation d’une version prise en charge. Les versions qui ne sont plus prises en charge ne reçoivent plus de mises à jour de sécurité qui protègent vos applications et vos données. Pour connaître les plages de dates prises en charge pour chaque version de .NET, consultez la politique de support.

Systèmes d’exploitation pris en charge

.NET peut être exécuté sur une plage de systèmes d’exploitation. Chacun de ces systèmes d’exploitation a un cycle de vie défini par son organisation commanditaire (par exemple, Microsoft, Red Hat ou Apple). Nous prenons en compte ces planifications de cycle de vie lors de l’ajout et de la suppression du support des versions du système d’exploitation.

Lorsqu’une version du système d’exploitation n’est plus supportée, nous cessons de tester cette version et de fournir le support de cette version. Les utilisateurs doivent passer à une version du système d’exploitation prise en charge pour obtenir un support.

Pour plus d’informations, consultez Stratégie de cycle de vie .NET OS.

Obtenir de l’aide

Vous avez le choix entre le support Microsoft et le support communautaire.

Support Microsoft

Pour obtenir un support assisté, contactez un professionnel du Support Microsoft.

Vous devez être à un niveau de maintenance pris en charge (la dernière mise à jour de maintenance disponible) pour être éligible au support. Si un système exécute .NET 7 et que la mise à jour de maintenance 7.0.8 a été publiée, la version 7.0.8 doit être installée dans un premier temps.

Support de la communauté pour les objets blob

Pour obtenir le support de la communauté, consultez la page Communauté.