31 липня 2020 р. – підготовча версія сукупного пакета оновлень KB4562899 для .NET Framework 3.5 та 4.8 для Windows 10 версії 2004

Застосовується до
.NET

Примітка.

  • Дата випуску:
    31 липня 2020 р.
  • Версія:
    .NET Framework.NET Framework 3.5 і 4.8

Оновлення від 31 липня 2020 р. для Windows 10Windows 10 версії 2004 містить сукупні покращення надійності в .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.", "e.g." неправильно визначені як орфографічні помилки.
- Вирішено проблему, коли у деяких Per-Monitor Aware WPF програм, що працюють на .NET 4.8, іноді може виникати аварійне завершення роботи з exceptionSystem.ComponentModel.Win32Exception.
- Вирішено проблему, через яку TextBlock переформатовується (приймає різні рішення щодо розриву рядка) під час рендерингу та тесту на влучення, а також під час такту. До цих симптомів належать відсутній текст і аварійне завершення роботи FailFast під час програмної обробки тексту.
- Вирішено проблему з потоком рендерингу, викликаним відключенням HostVisual своєї цілі в неправильному потоці.
- Вирішено проблему із зависанням під час прокручування TreeView, дерево якого є неоднорідним, у тому сенсі, що дочірні елементи даного вузла керують піддеревами, розміри яких досить різні.
- Вирішено проблему з аварійним завершенням роботи, яке може статися при закритті підказки, яка повторно закривається за допомогою коду користувача.
- Коли HwndHost залишає візуальне дерево, створюється трасування стека. Це дорого і, як правило, непотрібно. Логіку тепер змінено, щоб трасування стека створювалося лише тоді, коли виникає аномальна умова.
— Вирішено проблему з втратою пам'яті в System.Speech.SpeechSynthesizer.
- Команда Copy від DataGrid викликає виняток, якщо буфер обміну системи заблокований іншим процесом. Це призводило до аварійного завершення роботи, оскільки зазвичай у стеку немає коду програми, який міг би перехопити виняток. Поведінка TextBox (та інших програм на кшталт Notepad, WordWord, браузерів) у цій ситуації полягає в тому, щоб не працювати без жодних сповіщень - нічого не копіюється в буфер обміну, але не виняток. Програма WPF тепер може погодитися на таку поведінку, встановивши appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>у своєму app.config-файлі<.
- Вирішено проблему в побудові внутрішньої моделі для документа FixedPage. Деякий текст відображався в неправильному порядку для цілей таких операцій редагування, як виділення та копіювання та вставлення.
WCF3 - Під час використання імені користувача Windows UPN з форматом, подібним до username@dns.domain формату у властивості username NetworkCredential, під час використання NetTcpBinding або NetNamedPipeBinding, WCF неправильно розділяє ім'я користувача та dns.domain, розміщуючи їх у властивостях UserName та Domain. Це неприпустимо в деяких сценаріях і може призвести до помилки автентифікації. Це виправлення видаляє змінення облікових даних, якщо використовується ім'я користувача UPN. Модифікацію можна ввімкнути, встановивши для параметра AppSetting "wcf:enableLegacyUpnUsernameFix" значення true.
Net Libraries — Вирішено проблему втрати пам'яті в HttpListener.
Форми Windows - Вирішено проблему зі станом DataGridView IsReadOnlyaccessibility: Екранний диктор та інший доступний інструмент оголошує статус комірки лише для читання відповідно.
- Вирішено проблему регресії у версії .NET Framework 4.8, коли програми, що використовують тип клітинки зі списком DataGridView та увімкнули спеціальні можливості рівня 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 ComboBox.

         1 Загальномовне середовище виконання (CLR)
2 . Фонд подання графіки Windows (WPF)
3 . Фонд зв'язку Windows, 3

Відомі проблеми в цьому оновленні

Програми Windows Presentation Framework (WPF), які використовують два або більше елементів HostVisual, що належать до спільного потоку, де обом елементам HostVisual пропонується відключитися від свого візуального об'єкта приблизно одночасно, програма Пошта завершується помилкою з такою помилкою:

Тип винятку: System.COMException
Повідомлення: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Callstack: верхній кадр — 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 на комп'ютері.
 Попередження
Якщо неправильно змінити реєстр за допомогою редактора реєстру або іншим способом, можуть виникнути серйозні проблеми. Через них може знадобитися повторно інсталювати операційну систему. Корпорація Майкрософт не гарантує вирішення цих проблем. Змініть реєстр на власний ризик.

Місцезнаходження: 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 Update", а потім натисніть кнопку "Перевірити наявність оновлень".
Каталог Microsoft Update Так Щоб отримати автономний пакет для цього оновлення, перейдіть на веб-сайт Каталог Microsoft Update.
Служби Windows Server Update Services (WSUS) Ні Це оновлення можна імпортувати в служби WSUS уручну. Указівки можна знайти в Каталозі Microsoft Update.

Відомості про файли

Щоб отримати список файлів, які містяться в цьому оновленні, завантажте відомості про файл для сукупного пакета оновлень.

Попередні вимоги

Щоб застосувати це оновлення, на комп'ютері має бути інстальовано .NET Framework.NET Framework 3.5 або 4.8.

Необхідність перезавантаження

Якщо використовуються будь-які файли, що зазнали змін, потрібно перезавантажити комп'ютер після застосування цього оновлення. Перш ніж застосовувати це оновлення, радимо вийти з усіх програм на основі .NET Framework.

Як отримати довідку та підтримку для цього оновлення