Забележка
- Дата на издаване:
31 юли 2020 г. - Версия:
.NET Framework (платформа) 3.5 и 4.8
Актуализацията от 31 юли 2020 г. за Windows 10, версия 2004 включва кумулативни подобрения на надеждността в .NET 3.5 и 4.8. Препоръчваме да прилагате тази актуализация като част от редовните си рутинни процедури за профилактика. Преди да инсталирате тази актуализация, вижте разделите " Задължителни компоненти" и "Изисквания за рестартиране ".
Подобрения в качеството и надеждността
| CLR1 | - Промяна в .NET Framework (платформа) 4.8 регресира някои сценарии на EnterpriseServices, при които еднонишков апартамент може да се третира като многонишков апартамент и да доведе до блокираща повреда. Тази промяна вече правилно идентифицира еднонишковите апартаментни обекти като такива и избягва тази грешка. - Обърнато е внимание на проблем в сглобки с IBC профилни данни, който води до срив на процеси на Ngen worker и връщане към пълни естествени изображения. - Адресира редки сривове, които могат да възникнат по време на прекъсване на доставка на нишка. |
|---|---|
| SQL | - SqlBulkCopy.WriteToServer може да доведе до неуспешни транзакции към SQL таблици в паметта. Клиентът може да види изключение със съобщение "Времето на изчакване на изпълнение е изтекло. Периодът на време на изчакване, изтекъл преди завършването на операцията или сървърът не отговаря." SqlBulkCopy.WriteToServer изпращаше маркер за внимание (съобщение за отмяна), след като изпрати данни на SQL Server, което караше сървъра да прекъсне транзакцията за таблици в паметта. |
| ASP.NET | - Използвайте съвместими с FIPS хешове в ASP.Net телеметрични данни. - Обърнато е внимание на проблем, при който "Неопределено" не е разрешена стойност в конфигурацията за атрибута "cookieSameSite" на секциите за удостоверяване на формулярите и състояние на сесията. |
| WPF2 | - Обърнато е внимание на проблем, когато проверката на правописа е разрешена в WPF текстово поле или RichTextBox, думи като "и т.н.", "напр." са идентифицирани като неправилно правописни грешки. - Обърнато е внимание на проблем, при който някои Per-Monitor Aware WPF приложения, които се изпълняват на .NET 4.8, понякога може да срещнат срив с exceptionSystem.ComponentModel.Win32Exception. - Обърнато е внимание на проблем, при който TextBlock преоформя (взема различни решения за прекъсване на редове) по време на рендиране и попадение, в сравнение с това по време на измерване. Симптомите включват липсващ текст и сривове FailFast по време на програмна обработка на текст. - Обърнато е внимание на проблем с неуспех в нишката за рендиране, причинен от HostVisual прекъсване на връзката на целта на грешна нишка. - Обърнато е внимание на проблем с увисване при превъртане на TreeView, чието дърво е неравномерно, в смисъл, че децата на даден възел управляват поддървета, чиито размери са доста различни. - Обърнато е внимание на проблем със срив, който може да възникне при затваряне на пояснение, което се затваря повторно от потребителски код. - Когато HwndHost напусне визуалното дърво, се създава проследяване на стека. Това е скъпо и обикновено ненужно. Сега логиката е променена да създава проследяването на стека само когато възникне аномалното състояние. - Адресира изтичане на памет в System.Speech.SpeechSynthesizer. - Командата за копиране на DataGrid хвърля изключение, ако системният клипборд е заключен от друг процес. Това се срива, тъй като обикновено няма код на приложение в групата, който да хване изключението. Поведението на TextBox (и други приложения като Notepad, Word, браузъри) в тази ситуация е да се провали тихо - нищо не се копира в клипборда, но не и изключение. WPF приложението вече може да се включи в това поведение чрез задаване <на appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>в своя app.config файл. - Обърнато е внимание на проблем при изграждането на вътрешния модел за документ FixedPage. Част от текста се показва в грешен ред за целите на операциите за редактиране, като например избиране и копиране/поставяне. |
| WCF3 | - Когато използвате UPN потребителско име в Windows с формат, подобен на username@dns.domain свойството потребителско име на NetworkCredential, когато се използва NetTcpBinding или NetNamedPipeBinding, WCF неправилно ще раздели потребителското име и dns.domain, поставяйки ги в свойствата UserName и Domain. Това е невалидно в някои случаи и би довело до неуспешно удостоверяване. Тази корекция премахва промяната в идентификационните данни при използване на UPN потребителско име. Модификацията може да бъде активирана повторно чрез настройка на AppSetting "wcf:enableLegacyUpnUsernameFix" на true. |
| Net Libraries | - Адресира изтичане на памет в HttpListener. |
| Winforms | - Адресира проблем със състоянието IsReadOnlyaccessibility на DataGridView: "Разказвач" и друг достъпен инструмент обявяват съответно състоянието на клетка само за четене. – Адресира регресия в .NET Framework (платформа) 4.8, когато приложения, използващи тип клетка DataGridView ComboBox и са избрали достъпност от ниво 3, може да изпитат периодични сривове при редактиране на клетката. - Адресира проблем в ClickOnce RFC3161 код за потвърждение на времево клеймо. |
| Подобрения в достъпността на Winforms | В това издание добавяме нови подобрения в достъпността, за които вашето приложение може да се включи. По подразбиране тези промени са забранени. Приложения, които са включени във функциите за достъпност , въведени в .NET 4.8 и по-стари версии, могат да добавят следния превключвател за съвместимост към конфигурационния файл на приложението:"Switch.UseLegacyAccessibilityFeatures.4=false"По-конкретно, ако дадено приложение е насочено към .NET 4.8, добавете следния раздел AppContextSwitchOverrides: <?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>Ако дадено приложение е насочено към по-стара версия на рамката и се включи в предишните издания на набори от функции за достъпност, добавете един "Switch.UseLegacyAccessibilityFeatures.4=false" ключ към съществуващия 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>Подобренията в достъпността на Winforms, включени в това издание, са: - Адресира проблем с обявяването на елементи и категории на контролата PropertyGrid, разгънати/свити от екранни четци. - Актуализирани са достъпните модели на контрола на мрежата със свойства и нейните вътрешни елементи. - Актуализирани са достъпните имена на вътрешните елементи на контролата на мрежата със свойства, за да се произнасят правилно от екранния четец. - Адресира свойствата за ограничаване на правоъгълника, достъпни за контролите PropertyGridView – Позволява на екранните четци да обявяват правилно разгънато/свито състояние на разгъната/свитата клетка на DataGridView. |
1 Обща езикова среда (CLR)
2 Windows среда за представяния (WPF)
3 Windows Communication Foundation
Известни проблеми в тази актуализация
Приложения за рамка за представяния на Windows (WPF), които използват два или повече елемента на HostVisual, принадлежащи към обща нишка, където и двата елемента на HostVisual са подканени да прекъснат връзката със своята визуална цел приблизително едновременно, имейлите са неуспешни със следната грешка:
Тип изключение: System.COMException
Съобщение: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Стек на повиквания: най-горният кадър е System.Windows.Media.Composition.DUCE+Channel.SyncFlush()
Заобиколни решения
Можете да забраните проблемната корекция, като зададете превключвателя AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" на true, като използвате един от методите, описани тук. Това излага вашето приложение на първоначалната грешка, така че трябва да премахнете ключа, след като бъде публикувана корекция чрез предстояща актуализация.
Заобиколно решение 1
• Добавете следния запис към app.config файла, за да забраните проблемната корекция в едно приложение.
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
</време на изпълнение>
Обърнете внимание, че ако конфигурацията на вашето приложение вече има запис за <AppContextSwitchOverrides>, трябва да добавите новата настройка в този запис, отделена от другите ключове с точка и запетая:
<AppContextSwitchOverrides value="Switch.SomeOtherSwitch=true; Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
Заобиколно решение 2
• Приложете следния подключ от системния регистър, за да деактивирате проблемната корекция за всички приложения на WPF на машината.
Предупреждение
Ако промените системния регистър неправилно, като използвате редактора на системния регистър или друг метод, е възможно да възникнат сериозни проблеми. Поради тези проблеми може да се наложи да преинсталирате операционната система. Microsoft не може да гарантира, че тези проблеми могат да бъдат отстранени. Променете системния регистър на собствена отговорност.
Местоположение: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Име: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Тип: Низ
Стойност: true
Обърнете внимание, че при 64-битовите операционни системи трябва също да приложите подключ в системния регистър със същото име, тип и стойност в местоположението: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\
Решение
Работим върху решение и ще предоставим актуализация в предстоящо издание.
Как да изтеглите и инсталирате актуализацията
Инсталиране на тази актуализация
| Канал на издание | Налично | Следваща стъпка |
|---|---|---|
| Windows Update и Microsoft Update | Да | За да изтеглите и инсталирате тази актуализация, отидете в Настройки>Актуализиране & защита>актуализиране на Windows след което изберете Проверка за актуализации. |
| Каталог на Microsoft Update | Да | За да изтеглите самостоятелния пакет за тази актуализация, отворете уеб сайта Каталог на Microsoft Update. |
| Windows Server Update Services (WSUS) | Не | Можете ръчно да импортирате тази актуализация в WSUS. Вижте Каталог на Microsoft Update за инструкции. |
Информация за файлове
За списък на представените с тази актуализация файлове изтеглете информацията за файловете за кумулативна актуализация.
Предварителни изисквания
За да приложите тази актуализация, трябва да имате инсталиран .NET Framework (платформа) 3.5 или 4.8.
Изискване за рестартиране
Трябва да рестартирате компютъра, след като приложите тази актуализация, ако се използват засегнати файлове. Препоръчваме да излезете от всички приложения, базирани на .NET Framework (платформа), преди да приложите тази актуализация.
Как да получите помощ и поддръжка за тази актуализация
- Помощ за инсталиране на актуализации: ЧЗВ за актуализиране на Windows
- Защитете се онлайн и у дома: поддръжка на Защита в Windows
- Местна поддръжка според вашата страна: Поддръжка за чужбина