Remarque
- Date de publication :
31 juillet 2020 - Version:
.NET Framework 3.5 et 4.8
La mise à jour du 31 juillet 2020 pour Windows 10 version 2004 inclut des améliorations de fiabilité cumulatives dans .NET 3.5 et 4.8. Il est recommandé d’appliquer cette mise à jour dans le cadre de vos tâches de maintenance régulière. Avant d'installer cette mise à jour, consultez les sections Conditions préalables et Nécessité de redémarrer.
Améliorations de la qualité et de la fiabilité
| CLR1 | - Un changement dans .NET Framework 4.8 a régressé dans certains scénarios EnterpriseServices où un objet d’appartement à thread unique peut être traité comme un appartement multithread et entraîner une défaillance bloquante. Cette modification identifie désormais correctement les objets d’appartement à thread unique en tant que tels et évite cet échec. - Résout un problème dans les assemblys avec des données de profil IBC qui provoquent le blocage des processus de travail Ngen et le retour à des images natives complètes. - Traite les incidents rares qui peuvent se produire lors de l’abandon de la remise du thread. |
|---|---|
| SQL | - SqlBulkCopy.WriteToServer peut entraîner l’échec des transactions vers des tables SQL en mémoire. Le client peut voir une exception avec le message « Délai d’exécution expiré. Le délai d’expiration s’est écoulé avant la fin de l’opération ou le serveur ne répond pas. » SqlBulkCopy.WriteToServer envoyait un jeton Attention (message d’annulation) après l’envoi de données à Sql Server, ce qui a entraîné l’abandon de la transaction par le serveur pour les tables en mémoire. |
| ASP.NET | - Utilisez des hachages conformes à FIPS dans ASP.Net données de télémétrie. - Résolution d’un problème où « Unspecified » n’était pas une valeur autorisée dans la configuration pour l’attribut « cookieSameSite » des sections de configuration de l’état de session et de l’authentification par formulaire. |
| WPF2 | - Résolution d’un problème lorsque la vérification orthographique est activée dans WPF TextBox ou RichTextBox, des mots comme « etc. », « par exemple ». sont identifiés comme des fautes d’orthographe incorrectes. - Résolution d’un problème lorsque certaines applications WPF compatibles Per-Monitor qui s’exécutent sur .NET 4.8 peuvent occasionnellement rencontrer un plantage avec l’exceptionSystem.ComponentModel.Win32Exception. - Résout un problème où TextBlock se redistribue (prend des décisions de saut de ligne différentes) pendant le rendu et le test de positionnement, et pendant la mesure. Les symptômes incluent le texte manquant et les blocages FailFast pendant le traitement de texte par programmation. - Résolution d’un problème lié à l’échec d’un thread de rendu provoqué par hostVisual qui déconnecte sa cible sur le thread incorrect. - Résout un problème de blocage lors du défilement d’un TreeView dont l’arborescence n’est pas uniforme, dans le sens où les enfants d’un nœud donné régissent les sous-arborescences dont les tailles sont très différentes. - Résout un problème de blocage qui peut se produire lors de la fermeture d’une info-bulle qui est fermée de nouveau par le code utilisateur. - Lorsqu’un HwndHost quitte l’arborescence visuelle, une trace de pile est créée. C’est coûteux, et généralement inutile. La logique est maintenant modifiée pour créer la trace de pile uniquement lorsque la condition anormale se produit. - Corrige une fuite de mémoire dans System.Speech.SpeechSynthesizer. - La commande Copy de DataGrid lève une exception si le Presse-papiers système est verrouillé par un autre processus. Cela se bloque, car il n’y a généralement aucun code d’application sur la pile pour intercepter l’exception. Le comportement de TextBox (et d’autres applications telles que le Bloc-notes, les Word, les navigateurs) dans cette situation est d’échouer en mode silencieux : rien n’est copié dans le Presse-papiers, mais pas d’exception. Une application WPF peut désormais accepter ce comportement en définissant <appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure » value="false"/></appSettings>dans son fichier app.config. - Résout un problème lors de la construction du modèle interne pour un document FixedPage. Certains textes s’affichent dans le mauvais ordre pour les opérations de modification telles que la sélection et le copier-coller. |
| WCF3 | - Lors de l’utilisation d’un nom d’utilisateur Windows UPN au format similaire à username@dns.domain dans la propriété username d’un NetworkCredential lors de l’utilisation de NetTcpBinding ou NetNamedPipeBinding, WCF fractionne incorrectement le nom d’utilisateur et dns.domain en les plaçant dans les propriétés UserName et Domain. Cela n’est pas valide dans certains scénarios et entraînerait l’échec de l’authentification. Ce correctif supprime la modification des informations d’identification lors de l’utilisation d’un nom d’utilisateur UPN. La modification peut être réactivée en définissant l’AppSetting « wcf :enableLegacyUpnUsernameFix » sur true. |
| Bibliothèques réseau | - Corrige une fuite de mémoire dans HttpListener. |
| WinForms | - Résolution d’un problème lié à l’état d’accessibilité De DataGridView IsReadOnly : le Narrateur et un autre outil accessible annoncent en lecture seule la cellule status en conséquence. - Résout une régression dans .NET Framework 4.8 lorsque des applications utilisant le type de cellule DataGridView ComboBox et qui ont opté pour l’accessibilité de niveau 3, peuvent rencontrer des blocages intermittents lors de la modification de la cellule. - Résout un problème dans clickOnce RFC3161 code de vérification timestamp. |
| Améliorations de l’accessibilité de Winforms | Dans cette version, nous ajoutons de nouvelles améliorations d’accessibilité que votre application peut accepter. Par défaut, ces modifications sont désactivées. Les applications qui optent pour les fonctionnalités d’accessibilité introduites dans .NET 4.8 et versions antérieures peuvent ajouter le commutateur de compatibilité suivant au fichier de configuration de l’application :"Switch.UseLegacyAccessibilityFeatures.4=false"Plus précisément, si une application cible .NET 4.8, ajoutez la section AppContextSwitchOverrides suivante : <?xml version="1.0" encoding+"utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.8"/> </startup> <runtime> <!-- AppContextSwitchOverrides value attribute is in the form of key1=true\|false;key2=true\|false --> <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures.4=false" /> </runtime> </configuration>Si une application cible une version antérieure de l’infrastructure et s’inscrit dans les ensembles de fonctionnalités d’accessibilité précédemment mis en production, ajoutez un seul "Switch.UseLegacyAccessibilityFeatures.4=false" commutateur à la section existante AppContextSwitchOverrides :<?xml version="1.0" encoding+"utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.7"/> </startup> <runtime> <!-- AppContextSwitchOverrides value attribute is in the form of key1=true\|false;key2=true\|false --> <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false\|Switch.UseLegacyAccessibilityFeatures.2=false\|Switch.UseLegacyAccessibilityFeatures.3=false\|Switch.UseLegacyAccessibilityFeatures.4=false"/> </runtime> </configuration>Les améliorations de l’accessibilité de Winform incluses dans cette version sont les suivantes : Résout un problème lié à l’annonce de l’état des éléments de contrôle PropertyGrid et des catégories développés/réduits par les lecteurs d’écran. - Mise à jour des modèles accessibles du contrôle Property Grid et de ses éléments internes. - Mise à jour des noms accessibles des éléments internes du contrôle Property Grid pour les annoncer correctement par le lecteur d’écran. - Adresses des propriétés accessibles au rectangle englobant pour les contrôles PropertyGridView - Permet aux lecteurs d’écran d’annoncer correctement l’état développé/réduit de la cellule ComboBox DataGridView. |
1 Common Language Runtime (CLR)
2 Windows Presentation Foundation (WPF)
3 Windows Communication Foundation
Problèmes connus dans cette mise à jour
Les applications WPF (Windows Presentation Framework) qui utilisent au moins deux éléments HostVisual appartenant à un thread commun, où les deux éléments HostVisual sont invités à se déconnecter de leur cible visuelle à peu près en même temps. Le courrier échoue avec l’erreur suivante :
Type d’exception : System.COMException
Message : UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Pile d’appels : le cadre supérieur est System.Windows.Media.Composition.DUCE+Channel.SyncFlush()
Solutions
Vous pouvez désactiver le correctif problématique en définissant le commutateur AppContext « Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread » sur true, à l’aide de l’une des méthodes décrites ici. Cela expose votre application au bogue d’origine. Vous devez donc supprimer le commutateur une fois qu’un correctif est publié via une mise à jour à venir.
Solution de contournement 1
• Ajoutez l’entrée suivante au fichier app.config pour désactiver le correctif problématique dans une seule application.
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
</runtime>
Notez que si votre configuration d’application a déjà une entrée pour <AppContextSwitchOverrides>, vous devez ajouter le nouveau paramètre dans cette entrée, séparé des autres commutateurs par un point-virgule :
<AppContextSwitchOverrides value="Switch.SomeOtherSwitch=true; Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
Solution de contournement 2
• Appliquez la sous-clé de Registre suivante pour désactiver le correctif problématique pour toutes les applications WPF sur l’ordinateur.
Avertissement
Toute modification incorrecte du Registre à l’aide de l’Éditeur du Registre ou d’une autre méthode peut entraîner des problèmes sérieux. Ces problèmes peuvent nécessiter la réinstallation du système d’exploitation. Microsoft ne peut pas garantir que ces problèmes peuvent être résolus. Vous assumez l’ensemble des risques liés à la modification du Registre.
Emplacement : HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Nom : Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Type : Chaîne
Valeur : true
Notez que sur les systèmes d’exploitation 64 bits, vous devez également appliquer une sous-clé de Registre avec le même nom, le même type et la même valeur à l’emplacement : HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\
Solution
Nous travaillons sur une résolution et fournirons une mise à jour dans une prochaine version.
Procédure d'obtention et d'installation de la mise à jour
Installer cette mise à jour
| Canal de publication | Disponible | Étape suivante |
|---|---|---|
| Windows Update et Microsoft Update | Oui | Pour télécharger et installer cette mise à jour, accédez à Paramètres>Mise à jour & Sécurité>Windows Update, puis sélectionnez Rechercher les mises à jour. |
| Microsoft Update Catalog | Oui | Pour obtenir le package autonome pour cette mise à jour, accédez au site web Catalogue Microsoft Update. |
| Windows Server Update Services (WSUS) | Non | Vous pouvez importer cette mise à jour manuellement dans WSUS. Pour obtenir des instructions, consultez le catalogue Microsoft Update . |
Informations de fichier
Pour obtenir une liste des fichiers fournis dans cette mise à jour, téléchargez les informations de fichier relatives à la mise à jour cumulative.
Configuration requise
Pour appliquer cette mise à jour, .NET Framework 3.5 ou 4.8 doit être installé.
Nécessité de redémarrer
Vous devez redémarrer l’ordinateur après avoir appliqué cette mise à jour si des fichiers concernés sont en cours d’utilisation. Il est recommandé de quitter toutes les applications .NET Framework avant d’appliquer cette mise à jour.
Procédure pour obtenir de l'aide et un support pour cette mise à jour
- Aide pour l’installation des mises à jour : Windows Update FAQ
- Protégez-vous en ligne et à la maison : Sécurité Windows support
- Support local en fonction de votre pays : Support international