Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft rappelle que .NET Core 3.0 va arriver en fin de vie le 3 mars 2020
Et recommande de passer à .NET Core 3.1 qui est une version prise en charge à long terme (LTS)

Le , par Stéphane le calme

125PARTAGES

8  0 
En 2016, la première version de .NET Core a vu le jour avec pour but de créer une première version de .NET qui soit à la fois open source et multiplateforme (Windows, macOS et Linux). Microsoft a fait ce choix pour cibler les utilisateurs qui n’utilisent que les technologies open source et pour répondre aux besoins d’exécution des applications .Net sur des serveurs Linux. Dès sa première version, le framework open source est conçu pour que l’ensemble des opérations soient possibles via la ligne de commande. .Net Core 1 introduit la coexistence de multiples versions du framework open source sur le même poste de travail, ce, pour apporter réponse aux problèmes de compatibilité posés par une installation globale de .Net Framework.

.Net Core 2 fait l’objet de publication en juin 2017 avec le support de .Net Standard 2.0 ce qui permet au framework open source de glaner un supplément de près de 20 000 API. Ce tournant est notamment marqué par l’introduction du pack de compatibilité Windows – un paquet NuGet qui inclut plusieurs API réservées à Windows comme System.Drawing, System.DirectoryServices, etc. ASP.NET Core 2.0 a apporté Razor Pages et SignalR, deux frameworks qui manquaient dans .NET Core 1.0. L’Entity Framework a pour sa part ajouté le support du lazy loading.

Il a fallu attendre 2019 pour avoir .Net Core 3.0 en version générale. Cette nouvelle version majeure de la variante open source et multiplateforme de .NET Framework comprend de nombreuses améliorations, notamment l'ajout de Windows Forms et de Windows Presentation Foundation (WPF). Elle introduit aussi de nouvelles API JSON, la prise en charge d’ARM64 et des améliorations de performance générales. Notons également qu'elle embarque C# 8.0 :
  • WPF et Windows Forms : Une des principales nouveautés de cette version est la prise en charge des applications desktop. Vous pouvez maintenant créer des applications Windows Forms et WPF avec .NET Core, sous Windows. Précisons que pour les applications de bureau de .NET Framework existantes, Microsoft a également veillé à faciliter leur migration vers .NET Core. Visual Studio 2019 16.3 prend en charge la création d'applications WPF qui ciblent .NET Core. Cela inclut de nouveaux templates, un concepteur XAML (similaire au concepteur XAML existant qui cible .NET Framework) et XAML Hot Reload.
  • Support de C# 8.0 : Livré avec .NET Core 3.0, C# 8.0 apporte de nombreuses améliorations. Parmi les plus notables, on peut citer les types de référence nullables. Désormais, toute variable d'un type référence est considérée comme un type référence n'acceptant pas la valeur Null. Autrement dit, par défaut, ces types seront non nullables ! Mais vous pouvez faire en sorte que le type de la variable soit nullable en ajoutant "?" au nom de type pour le déclarer comme type de référence nullable. Le but de cette fonctionnalité est d'en finir avec les exceptions de référence null très fréquentes.

    C# 8.0 vient également avec les types Index et Range qui offrent une syntaxe concise pour spécifier des sous-plages dans un tableau, Span ou ReadOnlySpan. Un type Index peut être utilisé pour l’indexation. Vous pouvez en créer un à partir d'un int qui permet de compter depuis le début, ou avec un opérateur de préfixe ^ qui permet de compter depuis la fin.

    Code C# : Sélectionner tout
    1
    2
    3
    4
    5
      
    Index i1 = 3;  // numéro 3 depuis le début 
    Index i2 = ^4; // numéro 4 depuis la fin 
    int[] a = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };  
    Console.WriteLine($"{a[i1]}, {a[i2]}"); // "3, 6"

    Un type Range est quant à lui composé de deux index, un pour le début et un pour la fin, et il peut être écrit avec une expression de plage (C#) x..y.

    Code C# : Sélectionner tout
    1
    2
       
    var slice = a[i1..i2]; // { 3, 4, 5 }
  • C# 8.0 inclut bien d'autres fonctionnalités comme les flux asynchrones, les déclarations using, les expressions Switch, les modèles récursifs (les modèles contenant d'autres modèles), l'implémentation par défaut des membres d'une interface, etc.
  • Prise en charge JSON intégrée rapide : les utilisateurs de .NET se sont largement appuyés sur Json.NET et d’autres bibliothèques JSON populaires. Mais .NET Core 3.0 inclut une nouvelle famille d’API JSON permettant des scénarios de lecture/écriture (Utf8JsonReader et Utf8JsonWriter), l’accès aléatoire avec un modèle objet document (JsonDocument) et un sérialiseur (JsonSerializer). Les nouvelles API sont conçues pour répondre à de nombreux scénarios identiques, mais avec moins de mémoire et une exécution plus rapide. Microsoft souhaitait en effet créer une nouvelle API JSON qui tirait parti de toutes les nouvelles fonctionnalités de performance de .NET Core et qui offrait des performances appropriées. Mais il n’était pas possible de faire cela dans une base de code existante telle que Json.NET tout en maintenant la compatibilité.

Sur les bases posées avec .Net Core 3, Microsoft entend produire un environnement d’exécution .Net unique et une infrastructure partout. En d’autres termes, Microsoft va vers un seul .Net à l’avenir. Ce dernier pourra être utilisé pour cibler plusieurs (sinon toutes) plateformes : Windows, Linux, MacOS, iOS, Android, tvOS, watchOS et WebAssembly, etc. Ce futur se nomme .Net 5 – la prochaine version de .Net Core 3. La première préversion de .Net 5 sera disponible dans la première moitié devrait être disponible au premier semestre 2020. La version finale est attendue en novembre 2020. Microsoft prévoit ensuite de publier une version majeure de .Net une fois par an, ce, tous les mois de novembre.


.NET Core 3.0 arrivera en fin de vie le 3 mars 2020

Dans un billet de blog, Microsoft a annoncé que .NET Core 3.0 arrivera en fin de vie le 3 mars 2020 et recommande de passer à .NET Core 3.1. Cette dernière, qui est une version prise en charge à long terme (LTS), a été publiée en décembre 2019.

« La caractéristique la plus importante est que .NET Core 3.1 est une version prise en charge à long terme (LTS) qui sera prise en charge pendant trois ans. Comme par le passé, nous voulions prendre notre temps avant de publier la prochaine version LTS. Les deux mois supplémentaires (après .NET Core 3.0) nous ont permis de sélectionner et de mettre en œuvre le bon ensemble d’améliorations par rapport à une base déjà très stable. .NET Core 3.1 est maintenant prêt à être utilisé partout où votre imagination ou vos besoins professionnels le nécessitent ».

Les modifications apportées à .NET Core 3.1 concernaient principalement Blazor et Windows Desktop, les deux nouveaux et importants ajouts à .NET Core 3.0. Cela inclut la prise en charge de C ++ / CLI, une demande habituelle des développeurs ciblant Windows.

.NET Core 3.1 est pris en charge sur les systèmes d'exploitation suivants:
  • Alpine à partir de la version 3.9 ;
  • Debian à partir de la version 9 ;
  • openSUSE à partir de la version 42.3 ;
  • Fedora à partir de la version 26 ;
  • Ubuntu à partir de la version 16.04 ;
  • RHEL à partir de la version 6 ;
  • SLES à partir de la version 12 ;
  • macOS à partir de la version 10.13 ;
  • Client Windows : 7, 8.1, 10 (à partir de la build 1607) ;
  • Windows Server à partir du SP1 2012 R2.

L'éditeur précise que les applications Windows Forms et WPF ne sont fonctionnelles et prises en charge que sous Windows.

Côté support de puce :
  • l'architecture x64 est prise en charge sous Windows, macOS et Linux ;
  • l'architecture x86 est prise en charge uniquement sous Windows ;
  • l'architecture ARM32 est prise en charge sous Windows et Linux ;
  • l'architecture ARM64 est prise en charge sous Linux (à partir du kernel 4.14).

Les contrôles Windows Forms suivants ont été supprimés de .NET Core 3.1:
  • DataGrid ;
  • ToolBar ;
  • ContextMenu ;
  • Menu ;
  • MainMenu ;
  • MenuItem.



Ces contrôles ont été remplacés par des contrôles plus puissants dans .NET Framework 2.0 en 2005. Ils n'étaient plus disponibles par défaut dans Visual Studio Designer Toolbox depuis de nombreuses années. Par conséquent, Microsoft nous avons décidé de supprimer ces contrôles et de se concentrer uniquement sur les nouveaux.

Les remplacements suivants sont recommandés:

Ancien contrôle (API) Remplacement recommandé Autres API associées supprimées
DataGrid DataGridView DataGridCell, DataGridRow, DataGridTableCollection, DataGridColumnCollection, DataGridTableStyle, DataGridColumnStyle, DataGridLineStyle, DataGridParentRowsLabel, DataGridParentRowsLabelStyle, DataGridBoolColumn, DataGridTextBox, GridColumnStylesCollection, GridTableStylesCollection, HitTestType
ToolBar ToolStrip ToolBarAppearance
ToolBarButton ToolStripButton ToolBarButtonClickEventArgs, ToolBarButtonClickEventHandler, ToolBarButtonStyle, ToolBarTextAlign
ContextMenu ContextMenuStrip
Menu ToolStripDropDown, ToolstripDropDownMenu MenuItemCollection
MainMenu MenuStrip
MenuItem ToolstripMenuItem
Microsoft avait déjà communiqué la feuille de route suivante concernant .NET Core:
  • .NET Core 3.0 arrivera en fin de vie le 3 mars 2020.
  • .NET Core 2.2 arrivera en fin de vie le 23 décembre.
  • .NET Core 2.1 sera pris en charge jusqu'en août 2021 (il s'agit également d'une version LTS).

Source : Microsoft

Une erreur dans cette actualité ? Signalez-le nous !