Nouveautés de Microsoft .Net Framework 4.8

Microsoft a publié .Net Framework 4.8, la dernière version du cadre de développement d'applications de la société pour Windows. La mise à jour apporte un certain nombre de correctifs de bogues, de correctifs de sécurité et d'améliorations à Common Language Runtime, ASP.Net, Windows Forms, Windows Presentation Foundation et Windows Communication Foundation. 

Où télécharger .Net Framework 4.8

Vous pouvez télécharger la version de production de .Net Framework à partir du site .Net de Microsoft. 

Version actuelle: les nouvelles fonctionnalités de .Net Framework 4.8

Publié le 18 avril 2019, .Net Framework 4.8 inclut les nouvelles fonctionnalités et améliorations suivantes:

  • Pour NGEN (Native Image Generator), les images du .Net Framework n'ont plus de sections inscriptibles et exécutables. Cela réduit la surface disponible pour les attaques qui tentent d'exécuter du code arbitraire en modifiant les adresses mémoire NGEN.
  • L'analyse anti-malware est maintenant lancée pour tous les assemblys, qu'ils soient chargés à partir du disque ou du réseau. Auparavant, le runtime .Net lancait uniquement des analyses (par Windows Defender et un logiciel anti-malware tiers implémentant l'interface de scan anti-programme malveillant) des assemblys chargés à partir du disque. 
  • Le compilateur JIT .Net Framework 4.8 est basé sur .Net Core 2.1. Les corrections de bogues et les optimisations basées sur la génération de code à partir de .Net Core 2.1 sont désormais disponibles dans .Net Framework.
  • Dans la BCL (bibliothèque de classes de base), la bibliothèque de compression externe Zlib a été améliorée, le nombre de finalisations d'objet résultant de l'utilisation de X509Certificate2 et des types associés a été réduit, et une API a été ajoutée pour obtenir des empreintes avec un appelant- algorithme de résumé spécifié.
  • De plus, la BCL dans .Net Framework 4.8 réduit l'impact des FIPS (Federal Information Processing Standards) sur la cryptographie. Depuis .Net Framework 2.0, les classes de fournisseurs cryptographiques ont levé une exception lorsque les bibliothèques cryptographiques sont configurées en mode FIPS. Avec .Net 4.8, ces exceptions ne seront plus levées par défaut.
  • Des améliorations d'accessibilité sont proposées pour Windows Forms, afin d'améliorer la communication des données d'application aux malvoyants.
  • Dans ASP.Net, un problème a été résolu concernant la gestion des en-têtes HTTP à valeurs multiples qui peuvent affecter le traitement des données en plusieurs parties.
  • Les problèmes CLR (Common Language Runtime) ont été résolus dans lesquels des valeurs incorrectes ont été envoyées en tant que EventListeners.
  • Les étiquettes activées dans Windows Forms sont désormais toujours rendues via une couleur de texte à contraste élevé lorsqu'un mode de contraste élevé est activé. Cela affecte les applications recompilées pour cibler .Net Framework 4.8.
  • L'algorithme de hachage utilisé pour générer les sommes de contrôle des fichiers XOML lors de la création de projets avec des fichiers XOML a été modifié. Les développeurs peuvent toujours utiliser l'algorithme précédent.
  • L'algorithme de hachage pour le calcul des clés des caches de mémoire interne a été modifié. Les développeurs peuvent toujours utiliser l'algorithme précédent.
  • Une fuite de mémoire a été corrigée qui affectait HttpWebRequest lors de la communication avec un serveur HTTPS via un proxy.
  • Dans Windows Presentation Foundation, une fuite de mémoire a été corrigée lors de la suppression des éléments de données des collections parentes lorsque UIAutomation était présent.
  • Windows Presentation Foundation a ajouté la prise en charge de la sensibilisation PPP par moniteur V2 et de la PPP en mode mixte.
  • Dans Windows Communication Foundation, un problème d'accessibilité a été résolu qui entraînait un thème incorrect des contrôles ComboBox dans des thèmes à contraste élevé.
  • Dans Windows Communication Foundation, ServiceHealthBehavior est présenté comme un comportement de service ajouté à la collection ServiceDescription.Behaviors. Il peut renvoyer l'état d'intégrité du service avec des codes de réponse HTTP et activer la publication de l'état du service. 

Version précédente: les nouvelles fonctionnalités de .Net Framework 4.7.2

Déjà populaire dans les technologies telles que Spring Framework, l'injection de dépendances permet à un objet de fournir les dépendances d'un autre objet. .Net Framework 4.7.2 facilite l'utilisation de cette fonctionnalité dans les formulaires Web ASP.net. Les injections basées sur les poseurs, les interfaces et les constructeurs sont prises en charge, et d'autres infrastructures d'injection de dépendances peuvent être connectées.

Les autres nouvelles fonctionnalités de .Net Framework 4.7.2 incluent:

  • La SameSitepropriété est ajoutée au framework Web ASP.Net, pour affirmer qu'un cookie ne doit pas être envoyé avec des demandes intersites. L'objectif de cet SameSiteattribut est de réduire les fuites d'informations et de se protéger contre les attaques de falsification intersites. La propriété est ajoutée HttpCookieType. Il est également présenté dans les cookies FormsAuthentication et SessionState.
  • Pour améliorer la sécurité et la conformité, l'authentification Azure Active Directory est prise en charge via un mot clé d'authentification interactif ajouté à l'authentification multifacteur. Il s'agit d'une extension de la chaîne de connexion SqlClient.
  • Les API sont ajoutées aux types de collection standard, permettant de nouvelles fonctionnalités telles que les constructeurs HashSet qui permettent de construire des HashSets avec une capacité. Cela offre un avantage en termes de performances lorsque l'on connaît la taille du HashSet.
  • Les améliorations cryptographiques simplifient la création d'objets RSA et DSA et les appels ImportParameters.
  • Windows Presentation Foundation (WPF) a ajouté la StaticResourcefonctionnalité de références permettant à un assistant de diagnostic d'être averti lorsqu'une StaticResourceréférence est résolue. Par exemple, un assistant de diagnostic tel que la fonction Modifier et continuer de Visual Studio peut souhaiter mettre à jour les utilisations d'une ressource lorsqu'elle change ou remplace une valeur dans un dictionnaire de ressources.
  • La WorkflowDesignerColorsclasse a été ajoutée pour améliorer les expériences de l'interface utilisateur en mode à contraste élevé.
  • Grâce à la décompression Zlib, le débit a été amélioré pour la décompression des archives Zip en utilisant une implémentation native de Zip.
  • Les charges de travail .Net Framework peuvent désormais générer des demandes de signature de certificat, ce qui permet à la génération de demandes d'être organisée dans les outils existants.
  • La prise en charge par moniteur a été ajoutée pour Windows Presentation Foundation et les applications VSTO (Visual Studio Tools for Office) compatibles HDPI déployées à l'aide de ClickOnce.
  • Le support est amélioré pour .Net Standard 2.0.
  • Les assistants de diagnostic peuvent localiser les ResourceDictionaries créés à partir d'un URI source donné.

Version précédente: Quoi de neuf dans .Net Framework 4.7.1

Avec la publication par Microsoft de .Net Framework 4.7.1 à la mi-octobre 2017, la plate-forme de développement a obtenu des améliorations critiques en matière de garbage collection, de sécurité et de configuration des applications. 

Pour améliorer les performances d'allocation de mémoire, en particulier pour les allocations de tas d'objets volumineux, une modification architecturale apportée au garbage collector divise l'allocation de tas en petits et grands tas d'objets. Les applications effectuant de nombreuses allocations de tas d'objets volumineux devraient bénéficier d'une réduction des conflits de verrouillage d'allocation et de meilleures performances.

La mise à jour ajoute également des options de hachage sécurisé pour l'authentification par formulaire ASP.Net, notamment SHA-2 (Secure Hash Algorithm), le successeur le plus puissant de SHA-1. Pour des raisons de compatibilité, SHA-1 est toujours l'option par défaut. SHA-2 est également pris en charge pour Message.HashAlgorithm, qui spécifie l'algorithme de hachage utilisé par la mise en file d'attente des messages lors de l'authentification. 

Les nouveaux générateurs de configuration dans .Net 4.7.1 permettent aux développeurs d'injecter et de créer une configuration pour les applications au moment de l'exécution. Les données de configuration peuvent provenir de sources autres que le fichier de configuration; dans les versions précédentes de .Net, la configuration est statique. Grâce aux générateurs de configuration, les applications peuvent appliquer un ensemble de générateurs personnalisé à une section de config. Les constructeurs peuvent modifier les données de configuration contenues dans une section de configuration ou la créer à partir de zéro, même en tirant de nouvelles données à partir de sources autres que des fichiers statiques.

Les autres fonctionnalités de la mise à niveau comprennent:

  • Prise en charge de la spécification .Net Standard 2.0, qui comprend un ensemble d'API partagées par plusieurs implémentations .Net.
  • Améliorations de l'accessibilité dans WPF (Windows Presentation Foundation) et Windows Forms, y compris des améliorations de contraste élevé, des modèles d'interface utilisateur améliorés et des expériences améliorées dans des outils tels que Narrator.
  • Prise en charge des diagnostics visuels dans WPF, qui permet l'utilisation d'outils d'analyse des arborescences visuelles XAML.
  • Prise ReadOnlyReferences en charge du compilateur dans le langage C # 7.2, pour passer des variables par référence mais sans exposer les données à des modifications.
  • Une API de détection de fonctionnalité d'exécution pour déterminer si un environnement d'exécution prend en charge une fonctionnalité particulière.
  • SystemValueTupleTypes sérialisables , ce qui devrait faciliter la migration de  System.Tuple vers la nouvelle syntaxe de tuple dans C # 7.0 et Visual Basic 15.5.
  • Une API ASP.Net fournissant un moyen standardisé de créer un HttpCookieobjet à partir d'une chaîne et de capturer les propriétés du cookie telles que la date d'expiration et le chemin.
  • Une fonctionnalité d'étape d'exécution dans ASP.Net, appelée ExecutionStepInvoker, qui permet aux développeurs d'exécuter des étapes d'exécution dans leur code, plutôt que dans le pipeline prédéfini d'ASP.Net. Cette fonctionnalité est destinée aux bibliothèques concernées par le flux d'exécution des applications.