Hinweis
- Veröffentlichungsdatum:
31. Juli 2020 - Version:
.NET Framework 3.5 und 4.8
Das Update vom 31. Juli 2020 für Windows 10, Version 2004, enthält kumulative Verbesserungen der Zuverlässigkeit von .NET 3.5 und 4.8. Wir empfehlen, dass Sie dieses Update im Rahmen Ihrer regulären Wartungsroutinen anwenden. Lesen Sie vor der Installation dieses Updates die Abschnitte Voraussetzungen und Neustartanforderung.
Verbesserungen der Qualität und Zuverlässigkeit
| CLR1 | – Durch eine Änderung in .NET Framework 4.8 wurden bestimmte EnterpriseServices-Szenarien zurückgenommen, in denen ein Single-Thread-Apartmentobjekt als Multithread-Apartment behandelt werden konnte und zu einem Blockierungsfehler führte. Durch diese Änderung werden Einzelthread-Apartmentobjekte nun ordnungsgemäß als solche identifiziert und dieser Fehler vermieden. – Behebt ein Problem in Assemblys mit IBC-Profildaten, das dazu führt, dass Ngen-Arbeitsprozesse abstürzen und auf vollständige native Images zurückgreifen. – Behebt die seltenen Abstürze, die während des Threadabbruchs auftreten können. |
|---|---|
| SQL | - SqlBulkCopy.WriteToServer kann dazu führen, dass Transaktionen in In-Memory-SQL-Tabellen fehlschlagen. Auf dem Client wird möglicherweise eine Ausnahme mit der Meldung "Ausführungstimeout abgelaufen. Das Zeitlimit wurde vor dem Beenden des Vorgangs überschritten oder der Server reagiert nicht." SqlBulkCopy.WriteToServer sendete nach dem Senden von Daten an SQL Server ein Aufmerksamkeitstoken (Abbruchnachricht), was dazu führte, dass der Server die Transaktion für In-Memory-Tabellen abbrach. |
| ASP.NET | - Verwenden Sie FIPS-konforme Hashes in ASP.Net Telemetriedaten. - Behebt ein Problem, bei dem "Unspecified" kein zulässiger Wert in der Konfiguration für das "cookieSameSite"-Attribut der Abschnitte "Formularauthentifizierung" und "Sitzungsstatuskonfiguration" war. |
| WPF2 | – Behebt ein Problem, wenn die Rechtschreibprüfung in WPF TextBox oder RichTextBox aktiviert ist, Wörter wie "etc.", "e.g." werden als fehlerhafte Rechtschreibfehler identifiziert. – Behebt ein Problem, bei dem bei einigen Per-Monitor fähigen WPF-Anwendungen, die unter .NET 4.8 laufen, gelegentlich ein Absturz mit exceptionSystem.ComponentModel.Win32Exception auftreten kann. - Behebt ein Problem, bei dem TextBlock während des Renderns und Treffertests im Vergleich zu während der Messung umgebrochen wird (unterschiedliche Entscheidungen über den Zeilenumbruch trifft). Zu den Symptomen gehören fehlender Text und FailFast-Abstürze während der programmgesteuerten Textverarbeitung. - Behebt ein Problem mit einem Render-Thread-Fehler, der dadurch verursacht wird, dass HostVisual sein Ziel auf dem falschen Thread trennt. - Behebt ein Problem mit einem Hängenbleiben beim Scrollen einer TreeView, deren Struktur nicht einheitlich ist, in dem Sinne, dass die untergeordneten Elemente eines bestimmten Knotens Unterbäume steuern, deren Größe sehr unterschiedlich ist. – Behebt ein Problem mit einem Absturz, der beim Schließen einer QuickInfo auftreten kann, die durch Benutzercode wieder geschlossen wird. - Wenn ein HwndHost die visuelle Struktur verlässt, wird eine Stapelüberwachung erstellt. Das ist teuer und in der Regel unnötig. Die Logik wird nun so geändert, dass die Stapelüberwachung nur erstellt wird, wenn die anomale Bedingung auftritt. – Behebt einen Speicherverlust in System.Speech.SpeechSynthesizer. - Der Kopierbefehl von DataGrid löst eine Ausnahme aus, wenn die Systemzwischenablage durch einen anderen Prozess gesperrt ist. Dies stürzt ab, da normalerweise kein App-Code auf dem Stapel vorhanden ist, der die Ausnahme abfängt. Das Verhalten von TextBox (und anderen Apps wie Editor, Word, Browsern) in dieser Situation ist ein automatischer Fehler – es wird nichts in die Zwischenablage kopiert, aber keine Ausnahme. Eine WPF-App kann sich nun für dieses Verhalten entscheiden, indem sie appSettings add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>in ihrer app.config Datei hinzufügt<.>< – Behebt ein Problem beim Erstellen des internen Modells für ein FixedPage-Dokument. Text wurde in der falschen Reihenfolge für Bearbeitungsvorgänge wie Markieren und Kopieren/Einfügen angezeigt. |
| WCF3 | - Bei Verwendung eines UPN-Windows-Benutzernamens mit einem ähnlichen username@dns.domain Format wie in der Benutzername-Eigenschaft eines NetworkCredential bei Verwendung von NetTcpBinding oder NetNamedPipeBinding würde WCF den Benutzernamen und die dns.domain fälschlicherweise in die Eigenschaften UserName und Domain aufteilen und sie in die Eigenschaften UserName und Domain einfügen. Dies ist in einigen Szenarien ungültig und würde dazu führen, dass die Authentifizierung fehlschlägt. Dieser Fix entfernt die Änderung der Anmeldeinformationen, wenn ein UPN-Benutzername verwendet wird. Die Änderung kann erneut aktiviert werden, indem das AppSetting "wcf:enableLegacyUpnUsernameFix" auf "true" gesetzt wird. |
| Net Libraries | – Behebt ein Speicherleck in HttpListener. |
| WinForms | – Behebt ein Problem mit dem DataGridView-Status "IsReadOnlyaccessibility": Die Sprachausgabe und andere barrierefreie Tools kündigen den schreibgeschützten Zellstatus entsprechend an. – Behebt eine Regression in .NET Framework 4.8, wenn bei Anwendungen, die den DataGridView ComboBox-Zelltyp verwenden und sich für die Barrierefreiheit der Ebene 3 entschieden haben, beim Bearbeiten der Zelle gelegentlich Abstürze auftreten können. – Behebt ein Problem in ClickOnce RFC3161 Zeitstempel-Verifizierungscode. |
| Verbesserungen der Barrierefreiheit in Winforms | In dieser Version fügen wir neue Verbesserungen der Barrierefreiheit hinzu, für die sich Ihre Anwendung anmelden kann. Standardmäßig sind diese Änderungen deaktiviert. Anwendungen, die in .NET 4.8 und früher eingeführte Barrierefreiheitsfeatures nutzen , können der Konfigurationsdatei der Anwendung den folgenden Kompatibilitätsschalter hinzufügen:"Switch.UseLegacyAccessibilityFeatures.4=false"Insbesondere, wenn eine Anwendung auf .NET 4.8 abzielt, fügen Sie den folgenden Abschnitt "AppContextSwitchOverrides" hinzu: <?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>Wenn eine Anwendung auf eine frühere Version des Frameworks abzielt und sich für die zuvor veröffentlichten Barrierefreiheitsfeatures entscheidet, fügen Sie dem vorhandenen AppContextSwitchOverrides Abschnitt einen einzelnen "Switch.UseLegacyAccessibilityFeatures.4=false" Switch hinzu:<?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>Die in dieser Version enthaltenen Verbesserungen der Barrierefreiheit von Winforms sind: Behebt ein Problem mit der Ankündigung des erweiterten/reduzierten Zustands von PropertyGrid-Steuerelementelementen und Kategorien durch Sprachausgaben. – Die zugänglichen Muster des Eigenschaftenraster-Steuerelements und seiner inneren Elemente wurden aktualisiert. - Die zugänglichen Namen der inneren Elemente des Eigenschaftenraster-Steuerelements wurden aktualisiert, um diese von der Sprachausgabe korrekt anzukündigen. – Befasst sich mit den Eigenschaften für den Zugriff auf das umgebende Rechteck für die PropertyGridView-Steuerelemente – Ermöglicht es Sprachausgaben, den erweiterten / reduzierten Zustand der DataGridView-ComboBox-Zelle ordnungsgemäß anzuzeigen. |
1 Common Language Runtime (CLR)
2 Windows Presentation Foundation (WPF)
3 Windows Communication Foundation
Bekannte Probleme bei diesem Update
Windows Presentation Framework (WPF)-Anwendungen, die zwei oder mehr HostVisual-Elemente verwenden, die zu einem gemeinsamen Thread gehören, bei dem beide HostVisual-Elemente ungefähr gleichzeitig aufgefordert werden, die Verbindung zu ihrem visuellen Ziel zu trennen, schlagen mit dem folgenden Fehler fehl:
Ausnahmetyp: System.COMException
Meldung: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Callstack: oberer Frame ist System.Windows.Media.Composition.DUCE+Channel.SyncFlush()
Problemumgehungen
Sie können die problematische Korrektur deaktivieren, indem Sie den AppContext-Schalter "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" mit einer der hier beschriebenen Methoden auf "true" festlegen. Dadurch wird Ihre App dem ursprünglichen Fehler ausgesetzt, sodass Sie den Switch entfernen sollten, sobald ein Fix über ein anstehendes Update veröffentlicht wird.
Problemumgehung 1
• Fügen Sie der app.config Datei den folgenden Eintrag hinzu, um die problematische Korrektur in einer einzelnen Anwendung zu deaktivieren.
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
</runtime>
Beachten Sie, dass Sie, wenn Ihre Anwendungskonfiguration bereits einen Eintrag für <AppContextSwitchOverrides> enthält, die neue Einstellung in diesem Eintrag hinzufügen müssen, getrennt von anderen Schaltern durch ein Semikolon:
<AppContextSwitchOverrides value="Switch.SomeOtherSwitch=true; Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
Problemumgehung 2
• Wenden Sie den folgenden Registrierungsunterschlüssel an, um die problematische Fehlerkorrektur für alle WPF-Anwendungen auf dem Computer zu deaktivieren.
Warnung
Durch die unsachgemäße Änderung der Registrierung mit dem Registrierungs-Editor oder einer anderen Methode können schwerwiegende Probleme verursacht werden. Diese Probleme machen möglicherweise eine Neuinstallation des Betriebssystems erforderlich. Microsoft kann nicht garantieren, dass diese Probleme gelöst werden können. Das Ändern der Registrierung erfolgt auf eigenes Risiko.
Standort: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Name: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Typ: String
Wert: true
Beachten Sie, dass Sie auf 64-Bit-Betriebssystemen auch einen Registrierungsunterschlüssel mit demselben Namen, Typ und Wert am Speicherort anwenden müssen: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\
Lösung
Wir arbeiten an einer Lösung und werden in einer kommenden Version ein Update bereitstellen.
Bezug und Installation des Updates
Dieses Update installieren
| Veröffentlichungskanal | Verfügbar | Nächster Schritt |
|---|---|---|
| Windows Update und Microsoft Update | Ja | Um dieses Update herunterzuladen und zu installieren, wechseln Sie zu "Einstellungsupdate>& Sicherheit>Windows Update, und wählen Sie dann "Nach Updates suchen" aus. |
| Microsoft Update-Katalog | Ja | Das eigenständige Paket für dieses Update finden Sie auf der Microsoft Update-Katalog-Website. |
| Windows Server Update Services (WSUS) | Nein | Sie können dieses Update manuell in WSUS importieren. Anweisungen hierzu finden Sie im Microsoft Update-Katalog . |
Dateiinformationen
Eine Liste der Dateien, die in diesem Update bereitgestellt werden, finden Sie im Dokument mit Dateiinformationen für das kumulative Update.
Voraussetzungen
Damit Sie dieses Update anwenden können, müssen Sie .NET Framework 3.5 oder 4.8 installiert haben.
Neustartanforderung
Starten Sie den Computer nach der Installation dieses Updates neu, wenn betroffene Dateien verwendet werden. Es wird empfohlen, alle .NET Framework-basierten Anwendungen zu beenden, bevor Sie dieses Update installieren.
Hilfe und Support zu diesem Update
- Hilfe zum Installieren von Updates: häufig gestellte Fragen Windows Update
- Schützen Sie sich online und Zuhause: Unterstützung für Windows-Sicherheit
- Lokaler Support entsprechend Ihrem Land/Ihrer Region/Region: Internationaler Support