31. júla 2020 – KB4562899 – Ukážka kumulatívnej aktualizácie rozhrania .NET Framework 3.5 a 4.8 pre Windows 10, verzia 2004

Vzťahuje sa na
.NET

Poznámka

  • Dátum vydania:
    31. júla 2020
  • Verzia:
    .NET Framework 3.5 a 4.8

Aktualizácia z 31. júla 2020 pre Windows 10 verzie 2004 obsahuje kumulatívne vylepšenia spoľahlivosti v .NET 3.5 a 4.8. Odporúčame, aby ste túto aktualizáciu používali ako súčasť pravidelnej údržby. Pred inštaláciou tejto aktualizácie si pozrite sekcie Požiadavky a Požiadavky na reštartovanie .

Zlepšenie kvality a spoľahlivosti

CLR1 - Zmena v .NET Framework 4.8 regresovala niektoré scenáre EnterpriseServices, kde jednovláknový bytový objekt môže byť považovaný za byt s viacerými vláknami a viesť k zlyhaniu blokovania. Táto zmena teraz správne identifikuje jednovláknové bytové objekty ako také a tomuto zlyhaniu sa zabráni.
- Rieši problém v zostavách s údajmi profilu IBC, ktorý spôsoboval zlyhanie pracovných procesov Ngen a návrat na úplné natívne obrazy.
- Rieši zriedkavé zlyhania, ktoré sa môžu vyskytnúť počas doručovania prerušenia vlákna.
SQL - SqlBulkCopy.WriteToServer môže spôsobiť zlyhanie transakcií tabuliek SQL v pamäti. Klientovi sa môže zobraziť výnimka s hlásením "Uplynul časový limit na spustenie. Časový limit, ktorý uplynul pred dokončením operácie, alebo server nereaguje." SqlBulkCopy.WriteToServer odosielal token pozornosti (hlásenie o zrušení) po odoslaní údajov do SQL Servera, čo spôsobilo, že server prerušil transakciu pre tabuľky v pamäti.
ASP.NET - Použitie hodnôt hash v súlade so štandardom FIPS v ASP.Net telemetrických údajoch.
- Rieši problém, kde "Unspecified" nebola povolená hodnota v konfigurácii atribútu "cookieSameSite" v sekciách overovania formulárov a konfigurácie stavu relácie.
WPF2 - Rieši problém, keď je povolená kontrola pravopisu vo WPF TextBox alebo RichTextBox, slová ako "etc.", "e.g." sú ako pravopisné chyby identifikované nesprávne.
- Rieši problém, keď niektoré aplikácie WPF s podporou Per-Monitor, ktoré bežia na platforme .NET 4.8, môžu príležitostne zaznamenať zlyhanie s exceptionSystem.ComponentModel.Win32Exception.
- Rieši problém, pri ktorom TextBlock pretečie (robí rôzne rozhodnutia o prelomení riadkov) počas vykresľovania a testovania prístupu oproti meraniu. Medzi príznaky patrí chýbajúci text a zlyhanie FailFast počas programového spracovania textu.
- Rieši problém so zlyhaním vlákna vykresľovania, ktoré bolo spôsobené odpojením cieľa HostVisual v nesprávnom vlákne.
- Rieši problém so zablokovaním pri posúvaní stromového zobrazenia, ktorého strom nie je jednotný, v tom zmysle, že podstromy daného uzla ovládajú podstromy, ktorých veľkosti sú dosť odlišné.
– Rieši problém so zlyhaním, ktoré sa môže vyskytnúť pri zatvorení popisu, ktorý je opätovne entrantne zatvorený používateľským kódom.
- Keď HwndHost opustí vizuálny strom, vytvorí sa sledovanie zásobníka. Je to drahé a zvyčajne zbytočné. Logika sa zmení tak, aby sa sledovanie zásobníka vytvorilo len v prípade výskytu anomálnej podmienky.
- Rieši problém s pretekaním pamäte v System.Speech.SpeechSynthesizer.
- Príkaz Kopírovať v DataGride vyhodí výnimku, ak je systémová schránka zamknutá iným procesom. Spustí sa zlyhanie, pretože v zásobníku zvyčajne nie je žiadny kód aplikácie na zachytenie výnimky. Správanie TextBoxu (a ďalších aplikácií ako Poznámkový blok, Word, prehliadače) v tejto situácii spočíva v tichom zlyhaní - do schránky sa nič neskopíruje, ale nie je výnimkou. Aplikácia WPF sa teraz môže prihlásiť s týmto správaním nastavením <appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>vo svojom súbore app.config.
- Rieši problém pri zostavovaní interného modelu pre dokument FixedPage. Časť textu sa zobrazovala v nesprávnom poradí na účely operácií úprav, ako je napríklad výber a kopírovanie a prilepenie.
WCF3 - Pri použití mena používateľa hlavného mena používateľa Windowsu vo formáte podobnom username@dns.domain ako vo vlastnosti meno používateľa NetworkCredential pri použití NetTcpBinding alebo NetNamedPipeBinding, WCF nesprávne rozdelí meno používateľa a dns.domain a umiestni ich do vlastností Meno používateľa a Doména. Táto možnosť je v niektorých prípadoch neplatná a výsledkom by bolo zlyhanie overenia. Táto oprava odstráni úpravu poverení pri používaní mena používateľa s hlavným menom používateľa. Úpravu je možné znova povoliť nastavením nastavenia AppSetting wcf:enableLegacyUpnUsernameFix na hodnotu true.
Sieťové knižnice - Rieši pretekanie pamäte v HttpListener.
Winforms - Rieši problém so stavom prístupnosti DataGridView IsReadOnly: Moderátor a ďalšie nástroje so zjednodušeným ovládaním oznamujú stav bunky iba na čítanie v súlade s tým.
- Rieši regresiu v rozhraní .NET Framework 4.8, keď sa v aplikáciách, ktoré používajú bunku typu rozbaľovacieho poľa DataGridView a prihlásili sa do zjednodušenia ovládania úrovne 3, počas úpravy bunky môžu vyskytovať občasné zlyhania.
– Rieši problém s overovacím kódom časovej pečiatky ClickOnce RFC3161.
Vylepšenia zjednodušenia ovládania Winforms V tomto vydaní pridávame nové vylepšenia zjednodušenia ovládania, s ktorými sa môže aplikácia prihlásiť. V predvolenom nastavení sú tieto zmeny zakázané. Aplikácie, ktoré sa prihlásia do funkcií zjednodušenia ovládania zavedených v rozhraní .NET 4.8 a starších verziách, môžu do konfiguračného súboru aplikácie pridať nasledujúci prepínač kompatibility:
"Switch.UseLegacyAccessibilityFeatures.4=false"
Konkrétne ak je aplikácia cieľová pre .NET 4.8, pridajte nasledujúcu sekciu 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>
Ak je aplikácia nastavená na staršiu verziu architektúry a prihlási sa do predtým vydaných súprav funkcií zjednodušenia ovládania, pridajte jeden "Switch.UseLegacyAccessibilityFeatures.4=false" prepínač do existujúcej AppContextSwitchOverrides sekcie:
<?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>
Vylepšenia zjednodušenia ovládania Winforms zahrnuté v tomto vydaní sú:- Rieši problém s oznamovaním položiek a kategórií ovládacích prvkov PropertyGrid rozbalených/zbalených čítačiek obrazovky.
- Aktualizované vzory zjednodušenia ovládania mriežky vlastností a jeho vnútorných prvkov.
- Aktualizované prístupné názvy vnútorných prvkov mriežky vlastností, aby ich čítačka obrazovky správne oznamovala.
- Rieši ohraničujúce obdĺžnikové prístupné vlastnosti pre ovládacie prvky PropertyGridView
– Umožňuje čítačkám obrazovky správne oznámiť rozbalený/zbalený stav bunky rozbaľovacieho poľa DataGridView.

         1 Common Language Runtime (CLR)
2 Windows Presentation Foundation (WPF)
3 Windows Communication Foundation

Známe problémy v tejto aktualizácii

Aplikácie Windows Presentation Framework (WPF), ktoré používajú dva alebo viaceré prvky HostVisual patriace do spoločného vlákna, kde sú oba prvky HostVisual požiadané o odpojenie od svojho vizuálneho cieľa približne v rovnakom čase, pošta zlyhá s nasledujúcou chybou:

Typ výnimky: System.COMException
Hlásenie: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Callstack: horný rám je System.Windows.Media.Composition.DUCE+Channel.SyncFlush()

Alternatívne riešenia

Problematickú opravu môžete vypnúť nastavením prepínača AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" na hodnotu true pomocou niektorej z tu popísaných metód.  Týmto sa vaša aplikácia vystaví pôvodnej chybe, takže po publikovaní opravy v rámci nadchádzajúcej aktualizácie by ste mali prepínač odstrániť.

Alternatívne riešenie 1

• Do súboru app.config pridajte nasledujúcu položku, aby ste zakázali problematickú opravu v jednej aplikácii.

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

Všimnite si, že ak konfigurácia aplikácie už obsahuje položku pre <AppContextSwitchOverrides>, bude potrebné pridať nové nastavenie v rámci tejto položky a od ostatných prepínačov oddelené bodkočiarkou:

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

Alternatívne riešenie 2

• Použite nasledujúci podkľúč databázy Registry na vypnutie problematickej opravy pre všetky WPF aplikácie v počítači.
 Upozornenie
Ak databázu Registry upravíte nesprávne pomocou Editora databázy Registry alebo iným spôsobom, môžu sa vyskytnúť závažné problémy. Tieto problémy môžu vyžadovať preinštalovanie operačného systému. Spoločnosť Microsoft nemôže zaručiť, že tieto problémy sa budú dať vyriešiť. Databázu Registry upravujete na vlastné riziko.

Umiestnenie: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Názov: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Typ: Reťazec
Hodnota: true

Všimnite si, že v 64-bitových operačných systémoch musíte tiež použiť podkľúč databázy Registry s rovnakým názvom, typom a hodnotou v umiestnení: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\

Riešenie

Pracujeme na riešení a v nadchádzajúcom vydaní poskytneme aktualizáciu.
 

Ako získať a nainštalovať aktualizáciu

Inštalovanie tejto aktualizácie

Kanál vydania K dispozícii Ďalší krok
Windows Update a Microsoft Update Áno Ak chcete stiahnuť a nainštalovať túto aktualizáciu, prejdite do časti Nastavenia>aktualizácie & zabezpečenia>Windows Update a potom vyberte položku Vyhľadať aktualizácie.
Katalóg služby Microsoft Update Áno Ak máte záujem o samostatný balík s touto aktualizáciou, prejdite na webovú lokalitu Katalóg služby Microsoft Update.
Windows Server Update Services (WSUS) Nie Túto aktualizáciu môžete importovať do služby WSUS manuálne. Pokyny nájdete v katalógu služby Microsoft Update.

Informácie o súboroch

Ak máte záujem o zoznam súborov, ktoré sú súčasťou tejto aktualizácie, stiahnite si informácie o súboroch kumulatívnej aktualizácie.

Predpoklady

Ak chcete použiť túto aktualizáciu, musíte mať nainštalované rozhranie .NET Framework 3.5 alebo 4.8.

Požiadavka na reštartovanie

Ak sa používajú nejaké dotknuté súbory, po použití tejto aktualizácie musíte reštartovať počítač. Odporúčame, aby ste pred použitím tejto aktualizácie ukončili všetky aplikácie založené na rozhraní .NET Framework.

Ako získať pomoc a podporu pre túto aktualizáciu