Microsoft livre le dernier aperçu de .NET 7 avant la version candidate – Visual Studio Magazine

Nouvelles

Microsoft livre le dernier aperçu de .NET 7 avant la version candidate

Microsoft a livré aujourd’hui (9 août) .NET 7 Preview 7, le dernier aperçu avant qu’il n’atteigne l’étape Release Candidate avant le 1er novembre. 10 débuts.

Preview 7 a été testé avec Visual Studio 17.4 Preview 1, qui a également été publié aujourd’hui avec la version finale de VS 2022 v17.3.

.NET 7 unifiera enfin tous les composants d’outils de développement .NET disparates, permettant aux développeurs de créer tous les types d’applications – bureau, mobile, Web et plus encore – sur la même bibliothèque de classes de base (BCL), runtime et compilateurs. C’était en fait l’objectif de .NET 5 – un successeur des offres .NET Core – lors de ses débuts en novembre 2020. Cependant, des problèmes de développement exacerbés par la pandémie de COVID-19 ont empêché que cela se produise, donc pas tous les éléments prévus. est devenu .NET 5 et a été reporté jusqu’à l’arrivée de .NET 6 en novembre 2021 en tant que version de support à long terme (LTS). Même alors, cependant, l’effort global d’unification de Microsoft était incomplet car certains composants, tels que l’interface utilisateur de l’application multiplateforme .NET (.NET MAUI), ont dépassé le calendrier. .NET MAUI a depuis atteint la disponibilité générale, donc l’unification complète est attendue en novembre.

Le calendrier .NET
[Click on image for larger view.] Le calendrier .NET (source : Microsoft).

Pour Preview 7, l’équipe de développement s’est concentrée sur l’amélioration de System.LINQ, des autorisations de fichiers Unix, des structures de bas niveau, de la génération de source p/Invoke, de la génération de code et des websockets, a déclaré Jeremy Likness, responsable principal du programme, dans un août. 9 poste d’annonce. Tous ces éléments spécifiques relèvent quelque part des directives générales fournies dans le site Thèmes de .NET.

Thèmes de .NET pour v7 Milestone
[Click on image for larger view.] Thèmes de .NET pour v7 Milestone (source : Microsoft).

Voici des résumés de ces améliorations, avec des liens vers les problèmes GitHub associés et des demandes d’extraction pour plus d’informations :

  • Commande simplifiée avec System.LINQ: System.Linq arbore désormais de nouvelles méthodes, Order et OrderDescendingqui sont utilisés pour commander un IEnumerable selon T. Cela provient de dotnet/runtime#67194.
  • Prise en charge des modes de fichiers Unix : Cela utilise une nouvelle énumération et des API pour remédier au manque de prise en charge intégrée pour obtenir et définir les autorisations de fichiers Unix, utilisées pour contrôler quels utilisateurs peuvent lire, écrire et exécuter des fichiers et des répertoires. Cela découle de dotnet/runtime PR#69980.
  • Niveau faible struct améliorations : ref soutien sur le terrain: Les runtimes .NET 7 prennent désormais entièrement en charge ref champs dans les types ByRefLike : ref et struct. “Il y avait une conception de langage étendue derrière cette fonctionnalité très demandée sur laquelle les utilisateurs peuvent lire : des améliorations de structure de bas niveau”, a déclaré Likness. “Avec cette fonctionnalité, les types nécessitaient auparavant une gestion spécialisée dans les runtimes (par exemple, Span et ReadOnlySpan), peut désormais être entièrement implémenté en C#.”
  • LibraryImport Générateur de source P/Invoke : Likness a déclaré que cela reflétait l’aboutissement de plus de 18 mois de travail sur le LibraryImport générateur de source, destiné à être un remplacement direct pour la plupart DllImport utilise à la fois dans le produit d’exécution et dans le code utilisateur. LibraryImport a été déployé sur toutes les bibliothèques .NET, qui sont livrées avec le code de marshalling généré par la source depuis .NET 7 Preview 1. “Le générateur de source est livré avec le .NET 7 TFM et est facilement disponible pour la consommation”, a déclaré Likness. “Afin de bénéficier du marshalling généré par la source, remplacez les usages de DllImport avec LibraryImport. Il existe des analyseurs et des fixateurs qui peuvent aider à ce processus.” Cela provient de dotnet/runtime#60595.
  • ClientWebSocket Détails de la réponse de mise à jour : ClientWebSocket fournit désormais des détails sur les réponses de mise à niveau, en particulier des informations sur les en-têtes de réponse et les codes d’état, qui peuvent être utiles dans les scénarios d’échec et de réussite. Ce dernier peut aider les développeurs à faire la distinction entre les erreurs récupérables et non récupérables lorsque des échecs se produisent, tandis que les en-têtes peuvent également contenir des informations supplémentaires sur la façon de gérer de telles situations et également s’avérer utiles même dans les connexions de socket Web réussies, en ce sens qu’ils peuvent contenir un jeton lié à une session, des informations relatives à la version du sous-protocole et d’autres informations. Cela provient de dotnet/runtime#25918.

Likness a également répertorié plusieurs améliorations apportées à CodeGen et aux optimisations de boucle, ainsi que quelques changements de rupture dans l’aperçu.

A propos de l’auteur

David Ramel est éditeur et rédacteur pour Converge360.

.

Leave a Comment