Poznámka
- Datum vydání:
31. července 2020 - Verze:
.NET Framework 3.5 a 4.8
Aktualizace pro Windows 10 verze 2004 z 31. července 2020 obsahuje kumulativní vylepšení spolehlivosti v .NET 3.5 a 4.8. Doporučujeme, abyste tuto aktualizaci použili jako součást pravidelné údržby. Před instalací této aktualizace si přečtěte části Požadavky a Požadavky na restartování .
Vylepšení kvality a spolehlivosti
| CLR1 | - Změna v rozhraní .NET Framework 4.8 vrátila určité scénáře EnterpriseServices, kde může být objekt bytu s jedním vláknem považován za vícevláknový byt a vést k selhání blokování. Tato změna teď správně identifikuje objekty bytu s jedním vláknem jako takové a zabraňuje této chybě. - Řeší problém v sestavách s daty profilu IBC, který způsobuje chybové ukončení pracovních procesů Ngen a návrat k úplným nativním bitovým kopiím. - Řeší vzácná chybová ukončení, ke kterým může dojít při doručování přerušení vlákna. |
|---|---|
| SQL | - SqlBulkCopy.WriteToServer může způsobit selhání transakcí s tabulkami SQL v paměti. Klientovi se může zobrazit výjimka se zprávou "Vypršel časový limit spuštění. Před dokončením operace vypršel časový limit nebo server neodpovídá." SqlBulkCopy.WriteToServer odesílal token pozornosti (zprávu o zrušení) po odeslání dat na SQL Server, což způsobilo, že server přerušil transakci pro tabulky v paměti. |
| ASP.NET | - V ASP.Net telemetrických datech používejte hodnoty hash kompatibilní se standardem FIPS. - Řeší problém, kdy "Nespecifikováno" nebyla povolená hodnota v konfiguraci pro atribut cookieSameSite oddílů pro ověřování formulářů a konfiguraci stavu relace. |
| WPF (Windows Presentation Foundation)2 | - Řeší problém, kdy je ve WPF (Windows Presentation Foundation) TextBox nebo RichTextBox povolená kontrola pravopisu – slova jako "etc.", "e.g." nejsou správně označeny jako pravopisné chyby. - Řeší problém, kdy u některých aplikací WPF (Windows Presentation Foundation) podporujících Per-Monitor, které běží v .NET 4.8, může občas dojít k chybovému ukončení s výjimkou exceptionSystem.ComponentModel.Win32Exception. - Řeší problém, kdy se TextBlock přeformátuje (dělá různá rozhodnutí o zalomení řádku) během vykreslování a testu přístupů vs. během měření. Mezi příznaky patří chybějící text a selhání FailFast během programového zpracování textu. - Řeší problém se selháním vlákna vykreslování způsobeným odpojením cíle HostVisual v nesprávném vlákně. - Řeší problém se zablokováním při posouvání stromu TreeView, jehož strom není jednotný, v tom smyslu, že podřízené položky daného uzlu řídí podstromy, jejichž velikosti jsou zcela odlišné. - Řeší problém s chybovým ukončením, ke kterému může dojít při zavírání popisu, který je znovu znovu uzavřen uživatelským kódem. - Když HwndHost opustí vizuální strom, vytvoří se trasování zásobníku. Je to drahé a obvykle zbytečné. Logika je nyní změněna tak, aby se trasování zásobníku vytvořilo pouze v případě, že dojde k neobvyklé podmínce. - Řeší nevracení paměti v System.Speech.SpeechSynthesizer. - Příkaz Kopírovat DataGridu vyvolá výjimku, pokud je systémová schránka uzamčena jiným procesem. Dojde k chybě, protože v zásobníku obvykle není žádný kód aplikace, který by výjimku zachytil. Chování TextBox (a dalších aplikací, jako je Poznámkový blok, Word, prohlížeče) v této situaci je selhání tiše - do schránky se nic nezkopíruje, ale žádná výjimka. Aplikace WPF (Windows Presentation Foundation) se teď může přihlásit k tomuto chování nastavením <appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>ve svém app.config souboru. - Řeší problém při vytváření interního modelu pro dokument FixedPage. Při úpravách, jako je výběr a kopírování a vložení, se text zobrazoval ve špatném pořadí. |
| WCF3 | - Při použití hlavního názvu uživatele (UPN) uživatelského jména systému Windows s formátem podobným username@dns.domain ve vlastnosti uživatelského jména NetworkCredential při použití NetTcpBinding nebo NetNamedPipeBinding by WCF nesprávně rozdělila uživatelské jméno a dns.domain a umístila je do vlastností UserName a Domain . To je v některých scénářích neplatné a ověření se nezdaří. Tato oprava odebere úpravu přihlašovacích údajů při použití uživatelského jména hlavního názvu uživatele. Tuto úpravu je možné znovu povolit nastavením AppSetting "wcf:enableLegacyUpnUsernameFix" na true. |
| Net Libraries | - Řeší nevracení paměti v HttpListener. |
| Výherní formuláře | - Řeší problém se stavem přístupnosti DataGridView IsReadOnly: Předčítání a další nástroje s podporou přístupnosti odpovídajícím způsobem oznamují stav buňky jen pro čtení. - Řeší regresi v rozhraní .NET Framework 4.8, kdy u aplikací, které používají typ buňky DataGridView ComboBox a přihlásily se k přístupnosti úrovně 3, může při úpravách buňky občas dojít k chybovému ukončení. - Řeší problém v ClickOnce RFC3161 ověřovacího kódu časového razítka. |
| Vylepšení přístupnosti v aplikaci Winforms | V této verzi přidáváme nová vylepšení přístupnosti, se kterými se vaše aplikace může přihlásit. Ve výchozím nastavení jsou tyto změny zakázané. Aplikace, které se přihlásí k funkcím přístupnosti zavedeným v .NET 4.8 a starších verzích, můžou do konfiguračního souboru aplikace přidat následující přepínač kompatibility:"Switch.UseLegacyAccessibilityFeatures.4=false"Konkrétně, pokud aplikace cílí na .NET 4.8, přidejte následující oddíl 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>Pokud aplikace cílí na starší verzi architektury a zaregistruje se do dříve vydaných sad funkcí přístupnosti, přidejte jeden "Switch.UseLegacyAccessibilityFeatures.4=false" přepínač do stávajícího AppContextSwitchOverrides oddílu:<?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>Tato verze obsahuje vylepšení přístupnosti pro Winforms:– Řeší problém s oznamováním rozbaleného nebo sbaleného stavu ovládacích prvků PropertyGrid čtečkami obrazovky. - Aktualizovali jsme přístupné vzory ovládacího prvku Property Grid a jeho vnitřních prvků. - Aktualizovány přístupné názvy vnitřních elementů ovládacího prvku Property Grid tak, aby je čtečka obrazovky správně oznamovala. - Řeší přístupné vlastnosti ohraničujícího obdélníku pro ovládací prvky PropertyGridView - Umožňuje čtečkám obrazovky správně oznamovat DataGridView rozbalenou nebo sbalenou buňku ComboBox. |
1 Common Language Runtime (CLR)
2 Windows Presentation Foundation (WPF (Windows Presentation Foundation))
3 Windows Communication Foundation
Známé problémy v této aktualizaci
Windows Presentation Framework (WPF (Windows Presentation Foundation)) aplikace, které používají dva nebo více HostVisual elementů patřících do společného vlákna, kde jsou oba HostVisual elementy požádány, aby se odpojily od svého vizuálního cíle zhruba ve stejnou dobu, mail selže s následující chybou:
Typ výjimky: System.COMException
Zpráva: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Callstack: top frame is System.Windows.Media.Composition.DUCE+Channel.SyncFlush()
Alternativní řešení
Problematickou opravu můžete zakázat tak, že nastavíte přepínač AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" na true pomocí jedné z metod popsaných tady. Tím vaši aplikaci vystavíte původní chybě, takže byste měli přepínač odebrat, jakmile bude oprava publikována prostřednictvím nadcházející aktualizace.
Alternativní řešení 1
• Přidáním následující položky do souboru app.config zakážete problematickou opravu v jedné aplikaci.
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
</runtime>
Všimněte si, že pokud konfigurace vaší aplikace již obsahuje položku pro <AppContextSwitchOverrides>, musíte v této položce přidat nové nastavení oddělené od ostatních přepínačů středníkem:
<AppContextSwitchOverrides value="Switch.SomeOtherSwitch=true; Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
Alternativní řešení 2
• Pomocí následujícího podklíče registru zakažte problematickou opravu pro všechny aplikace WPF (Windows Presentation Foundation) na počítači.
Varování
Pokud pomocí Editoru registru nebo jiným způsobem změníte registr nesprávně, může dojít k vážným problémům. Tyto problémy by mohly vyžadovat přeinstalaci operačního systému. Microsoft nezaručuje, že se tyto problémy dají vyřešit. Registr upravujete na vlastní nebezpečí.
Umístění: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Název: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Typ: String
Hodnota: pravda
V 64bitových operačních systémech je také nutné použít podklíč registru se stejným názvem, typem a hodnotou v umístění: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\
Řešení
Pracujeme na řešení a v nadcházející verzi poskytneme aktualizaci.
Jak získat a nainstalovat aktualizaci
Instalace této aktualizace
| Kanál použitý k vydání | K dispozici | Další krok |
|---|---|---|
| služba Windows Update a Microsoft Update | Ano | Chcete-li stáhnout a nainstalovat tuto aktualizaci, přejděte na Nastavení>aktualizace & zabezpečení>služba služba Windows Update a pak vyberte Vyhledat aktualizace. |
| Katalog služby Microsoft Update | Ano | Pokud chcete získat samostatný balíček s touto aktualizací, přejděte na web Katalog služby Microsoft Update. |
| Služba WSUS (Windows Server Update Services) | Ne | Tuto aktualizaci můžete importovat do služby WSUS ručně. Pokyny najdete v Katalogu služby Microsoft Update. |
Informace o souborech
Pokud chcete získat seznam souborů poskytovaných v rámci této aktualizace, stáhněte si informace o souborech pro kumulativní aktualizaci.
Požadavky
K instalaci této aktualizace musíte mít nainstalované rozhraní .NET Framework 3.5 nebo 4.8.
Požadavky na restartování
Pokud jsou některé z dotčených souborů právě používány, je nutné po instalaci této aktualizace restartovat počítač. Před instalací této aktualizace doporučujeme ukončit všechny aplikace založené na rozhraní .NET Framework.
Jak získat nápovědu a podporu pro tuto aktualizaci
- Nápověda k instalaci aktualizací: Nejčastější dotazy k služba služba Windows Update
- Chraňte se online i doma: Podpora pro Zabezpečení Windows
- Místní podpora podle vaší země: Mezinárodní podpora