21 июля 2020 г. KB4562900 предварительная версия накопительного обновления для платформа .NET Framework 3.5 и 4.8 для Windows 10 версии 1903 и Windows Server 1903 RTM и Windows 10 версии 1909 и Windows Server версии 1909

Применяется к
.NET

Примечание

  • Дата выпуска:
    21 июля 2020 г.
  • Версия:
    платформа .NET Framework 3.5 и 4.8

Обновление от 21 июля 2020 г. для Windows 10 версии 1903 и Windows Server 1903 RTM и Windows 10 версии 1909 и Windows Server версии 1909 включает накопительные улучшения надежности в .NET 3.5 и 4.8. Рекомендуется применять это обновление в рамках регулярных процедур обслуживания. Перед установкой этого обновления ознакомьтесь с разделами Предварительные требования и Требования к перезапуску .

Улучшение качества и надежности

CLR1 — Изменение в платформа .NET Framework версии 4.8 привело к регрессии некоторых сценариев EnterpriseServices, в которых однопоточный объект квартиры может рассматриваться как многопоточный объект и привести к блокирующем сбою. Это изменение теперь правильно определяет объекты однопотоковых квартир как таковых и позволяет избежать этого сбоя.
— Устранена проблема в сборках с данными профиля IBC, из-за чего рабочие процессы Ngen завершались сбоем и возвращались к полным собственным образам.
— Устранены редкие сбои, которые могут произойти во время прерывания доставки потока.
SQL — SqlBulkCopy.WriteToServer может привести к сбою транзакций в таблицах SQL в памяти. Клиент может увидеть исключение с сообщением "Истекло время ожидания выполнения. Время ожидания, истекшее до завершения операции, или сервер не отвечает. SqlBulkCopy.WriteToServer отправлял маркер внимания (сообщение об отмене) после отправки данных в Sql Server, в результате чего сервер прервал транзакцию для таблиц в памяти.
ASP.NET — Используйте fips-совместимые хэши в ASP.Net данных телеметрии.
— Устранена проблема, из-за которой "Unspecified" не было допустимым значением в конфигурации для атрибута cookieSameSite разделов проверки подлинности и состояния сеанса.
WPF2 — Устранена проблема, когда проверка орфографии включена в WPF TextBox или RichTextBox, слова типа "etc.", "например". неправильно определены как орфографические ошибки.
— Устранена проблема, когда некоторые приложения WPF, поддерживающие Per-Monitor, которые выполняются в .NET 4.8, иногда могут столкнуться с сбоем с исключениемSystem.ComponentModel.Win32Exception.
— Устранена проблема, из-за которой TextBlock переполняется (принимает различные решения о разрыве строк) во время отрисовки и проверки попадания и во время измерения. Симптомы включают отсутствие текста и сбой FailFast во время программной обработки текста.
— Устранена проблема со сбоем потока отрисовки, вызванной отключением hostVisual целевого объекта в неправильном потоке.
— Устранена проблема с зависанием при прокрутке объекта TreeView, дерево которого не является однородным, в том смысле, что дочерние элементы узла управляют поддеревами, размер которых сильно отличается.
— Устранена проблема со сбоем, который может произойти при закрытии подсказки, повторно закрываемой пользовательским кодом.
— Когда HwndHost покидает визуальное дерево, создается трассировка стека. Это дорого и, как правило, не требуется. Теперь логика изменена, чтобы создать трассировку стека только при возникновении аномального условия.
— устранена утечка памяти в System.Speech.SpeechSynthesizer.
— Команда Копирования DataGrid создает исключение, если системный буфер обмена заблокирован другим процессом. Это завершается сбоем, так как в стеке обычно нет кода приложения для перехвата исключения. Поведение TextBox (и других приложений, таких как Блокнот, Word, браузеры) в этой ситуации заключается в автоматическом сбое — ничего не копируется в буфер обмена, но не исключение. Теперь приложение WPF может согласиться на это поведение, задав <appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>в app.config файле.
— Устранена проблема при создании внутренней модели для документа FixedPage. Некоторые тексты отображались в неправильном порядке для операций редактирования, таких как выделение и копирование и вставка.
WCF3 — При использовании имени участника-пользователя Windows в формате, аналогичном свойству username@dns.domain username объекта NetworkCredential при использовании NetTcpBinding или NetNamedPipeBinding, WCF неправильно разделяет имя пользователя и dns.домен на свойства UserName и Domain. В некоторых сценариях это недопустимо и приведет к сбою проверки подлинности. Это исправление удаляет изменение учетных данных при использовании имени пользователя участника-пользователя. Изменение можно включить повторно, задав для параметра AppSetting "wcf:enableLegacyUpnUsernameFix" значение true.
Библиотеки Net — Устранена утечка памяти в HttpListener.
Winforms — Устранена проблема с состоянием доступности DataGridView IsReadOnly: экранный диктор и другое доступное средство объявляют состояние ячейки только для чтения соответствующим образом.
— Устранена регрессия в платформа .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>
Улучшения специальных возможностей Winform, включенные в этот выпуск: Устранена проблема с объявлением элементов управления PropertyGrid и категорий, развернутых или свернутых средствами чтения с экрана.
— Обновлены доступные шаблоны элемента управления Property Grid и его внутренних элементов.
— Обновлены доступные имена внутренних элементов элемента управления "Сетка свойств", чтобы правильно объявить их средством чтения с экрана.
— адресует ограничивающие доступные свойства прямоугольника для элементов управления PropertyGridView.
— Позволяет средствам чтения с экрана правильно объявлять о развернутом или свернутом состоянии ячейки ComboBox DataGridView.

         1 СРЕДА CLR
2 Windows Presentation Foundation (WPF)
3 Windows Communication Foundation

Известные проблемы, связанные с этим обновлением

Приложения Windows Presentation Framework (WPF), использующие два или более элементов HostVisual, принадлежащих общему потоку, в которых оба элемента HostVisual получают запрос на отключение от визуального целевого объекта примерно в одно и то же время. Почта завершается ошибкой со следующей ошибкой:

Тип исключения: System.COMException
Сообщение: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Callstack: верхний кадр System.Windows.Media.Composition.DUCE+Channel.SyncFlush()

Временные решения

Вы можете отключить проблемное решение, задав для параметра AppContext значение true для параметра Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread, используя один из описанных здесь методов.  Это открывает для приложения исходную ошибку, поэтому следует удалить переключатель после публикации исправления в предстоящем обновлении.

Обходной путь 1

• Добавьте следующую запись в файл app.config, чтобы отключить проблемное исправление в одном приложении.

        <runtime>
     <AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
</runtime>

Обратите внимание, что если в конфигурации приложения уже есть запись для <AppContextSwitchOverrides>, необходимо добавить новый параметр внутри этой записи, отделяя от других параметров точкой с запятой:

   <AppContextSwitchOverrides value="Switch.SomeOtherSwitch=true; Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>

Обходной путь 2

• Примените следующий подраздел реестра, чтобы отключить проблемное исправление для всех приложений WPF на компьютере.
 Предупреждение
Неправильное изменение параметров системного реестра с помощью редактора реестра или любым иным путем может привести к возникновению серьезных неполадок. Из-за них вам может потребоваться переустановить операционную систему. Корпорация Майкрософт не может гарантировать, что эти проблемы можно решить. Внося изменения в реестр, вы действуете на свой страх и риск.

Расположение: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Имя: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Тип: String
Значение: true

Обратите внимание, что в 64-разрядных операционных системах также необходимо применить подраздел реестра с тем же именем, типом и значением в расположении: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\

Решение

Мы работаем над решением и предоставим обновление в предстоящем выпуске.
 

Получение и установка обновления

Установка этого обновления

Канал выпуска Доступно Следующий шаг
Центр обновления Windows и Центр обновления Майкрософт Да Чтобы скачать и установить это обновление, перейдите в раздел Параметры>Обновление & безопасность>клиентский компонент Центра обновления Windows а затем выберите Проверить наличие обновлений.
Каталог Центра обновления Майкрософт Да Чтобы получить отдельный пакет для данного обновления, перейдите на веб-сайт каталога Центра обновления Майкрософт.
Службы Windows Server Update Services (WSUS) Нет Это обновление можно импортировать в WSUS вручную. Инструкции см. в каталоге Центра обновления Майкрософт.

Сведения о файлах

Чтобы получить список файлов, которые предоставляются в этом обновлении, скачайте сведения о файлах накопительного обновления.

Необходимые условия

Чтобы применить это обновление, необходимо установить платформа .NET Framework 3.5 или 4.8.

Необходимость перезапуска

После применения этого обновления компьютер необходимо перезагрузить, если используются какие-либо затронутые файлы. Перед применением этого обновления рекомендуется закрыть все приложения на основе платформа .NET Framework.

Получение справки и поддержки для этого обновления