La version 3.1 avec support à long terme (LTS) de Microsoft .NET Core Framework ne sera plus prise en charge le 13 décembre 2022. Microsoft recommande de mettre à niveau les applications .NET Core 3.1 vers .NET 6.0 pour rester pris en charge à l'avenir, tandis que les développeurs ont des sentiments mitigés sur la politique de prise en charge de .NET.
Microsoft .NET Core Framework version 3.1, publiée en 2019, approche de la fin de sa date de prise en charge. Selon Dominique Whittaker, senior program manager chez Microsoft, les clients utilisant la version 3.1 doivent passer à .NET 6 ou 7 pour continuer à bénéficier de l'assistance officielle et des correctifs de sécurité.
Dominique Whittaker explique que les applications .NET Core 3.1 fonctionneront toujours après la date de fin de prise en charge, mais que les clients peuvent être exposés à des failles de sécurité potentielles qui ne seront corrigées que pour les versions prises en charge.
La version 3.1 est ce que Microsoft appelle une version avec support à long terme (LTS), avec un cycle de vie de support de trois ans depuis la date de sortie. Les versions non-LTS (ou "actuelles"), telles que .NET 7.0, ont un cycle de vie avec support plus court de 18 mois, car Microsoft les prendra en charge pendant six mois après la sortie de la prochaine version LTS. Microsoft programme les versions .NET pour lancer une version majeure de .NET par an, en alternance entre les versions LTS et actuelles.
La dernière version LTS de .NET est la 6.0, que Microsoft prévoit une prise en charge jusqu'au 12 novembre 2024. Microsoft prévoit de publier .NET 7.0, une version non LTS, en novembre 2022, ce qui signifie que les clients actuels de .NET Core 3.1 peuvent choisir entre une mise à niveau vers .NET 6 ou 7 avant la fin de la date de prise en charge de .NET Core 3.1.
La mise à niveau vers .NET 6.0 implique un changement d'une ligne dans le fichier projet pour changer la version du framework cible. Cependant, il peut y avoir des incompatibilités d'exécution ou de code source entre .NET Core 3.1 et .NET 6.0.
Microsoft recommande aux développeurs de consulter le guide de compatibilité officiel pour tout problème lors de la mise à niveau de leurs applications et fournit un outil de mise à niveau open source appelé upgrade-assistant. L'outil analyse le code de l'application, met à jour les fichiers du projet, vérifie les changements avec rupture et effectue quelques corrections de code automatiques mais les développeurs devront encore faire quelques corrections manuelles.
Les réactions de la communauté des développeurs sur les réseaux sociaux ont été mitigées. Certains développeurs affirment qu'un cycle de support de trois ans est trop court pour les projets d'entreprise, tandis que d'autres reconnaissent que la complexité croissante des dépendances dans le code fait des mises à jour fréquentes des versions une nécessité et une nouvelle façon de travailler. Rockford Lhotka, le créateur du framework applicatif CSLA.NET largement utilisé, explique que la plupart des problèmes liés aux mises à niveau du code .NET provient du déplacement de l'ancien .NET Framework vers le framework .NET moderne, tandis que les mises à niveau entre les versions de .NET Core nécessitent beaucoup moins de travail.
Microsoft publie régulièrement des informations de télémétrie résumées dérivées de l'utilisation du SDK .NET. Selon les données de juin 2022, la version la plus utilisée du Framework .NET par les applications est précisément .NET Core 3.1, représentant 31% des données de télémétrie.