Neuzuweisung von Änderungen für die Migration von .NET Framework 4.7 zu 4.7.1Retargeting Changes for Migration from .NET Framework 4.7 to 4.7.1

EinführungIntroduction

Neuzuweisungsänderungen wirken sich auf Apps aus, die für eine andere .NET Framework-Instanz neu kompiliert wurden.Retargeting changes affect apps that are recompiled to target a different .NET Framework. Dazu zählen:They include:

  • Änderungen in der Entwurfszeitumgebung.Changes in the design-time environment. Beispielsweise können Buildtools Warnungen ausgeben, obwohl dies zuvor nicht der Fall war.For example, build tools may emit warnings when previously they did not.

  • Änderungen in der Laufzeitumgebung.Changes in the runtime environment. Dies betrifft nur Apps, die speziell diese .NET Framework-Instanz als Ziel verwenden.These affect only apps that specifically target the retargeted .NET Framework. Apps, die auf frühere Versionen von .NET Framework abzielen, verhalten sich so, als würden sie in diesen Versionen ausgeführt.Apps that target previous versions of the .NET Framework behave as they did when running under those versions.

In den Artikeln, in denen Neuzuweisungsänderungen beschrieben werden, haben wir die einzelnen Punkte entsprechend ihrer erwarteten Auswirkung eingestuft:In the topics that describe retargeting changes, we have classified individual items by their expected impact, as follows:

Größer Dies ist eine wesentliche Änderung, die viele Apps beeinträchtigt oder erhebliche Änderungen des Codes erforderlich macht.Major This is a significant change that affects a large number of apps or that requires substantial modification of code.

Kleiner Dies ist eine Änderung, die eine kleine Anzahl von Apps beeinträchtigt oder geringfügige Änderungen des Codes erforderlich macht.Minor This is a change that affects a small number of apps or that requires minor modification of code.

Grenzfall Diese Änderung beeinträchtigt Apps nur in sehr spezifischen Szenarien, die nicht häufig vorkommen.Edge case This is a change that affects apps under very specific scenarios that are not common.

Transparent Diese Änderung hat keine nennenswerten Auswirkungen, die Entwickler oder Benutzer beachten müssten.Transparent This is a change that has no noticeable effect on the app's developer or user. Die App sollte keine Änderung benötigen.The app should not require modification because of this change.

Wenn Sie von .NET Framework 4.7 zu 4.7.1 migrieren, finden Sie in den folgenden Abschnitten weitere Informationen zu den Anwendungskompatibilitätsproblemen, die sich möglicherweise auf Ihre App auswirken können:If you are migrating from the .NET Framework 4.7 to 4.7.1, review the following topics for application compatibility issues that may affect your app:

ASP.NETASP.NET

Verbesserungen der Barrierefreiheit von ASP.NET in .NET Framework 4.7.1ASP.NET Accessibility Improvements in .NET Framework 4.7.1

DetailsDetails Ab .NET Framework 4.7.1 arbeiten .ASP.NET-Websteuerelemente effizienter mit den Funktionen für die Barrierefreiheit in Visual Studio zusammen, wodurch ASP.NET-Kunden besser unterstützt werden.Starting with the .NET Framework 4.7.1, ASP.NET has improved how ASP.NET Web Controls work with accessibility technology in Visual Studio to better support ASP.NET customers. Folgende Änderungen wurden u.a. vorgenommen:These include the following changes:
  • Änderungen, durch die fehlende Barrierefreiheitsmuster für Steuerelemente der Benutzeroberfläche implementiert werden. Zu diesen Steuerelementen zählen z.B. das Dialogfeld „Feld hinzufügen“ im Detailansicht-Assistenten oder das Dialogfeld „ListView konfigurieren“ im ListView-Assistenten.Changes to implement missing UI accessibility patterns in controls, like the Add Field dialog in the Details View wizard, or the Configure ListView dialog of the ListView wizard.
  • Änderungen zur Verbesserung der Anzeige im Modus für hohe Kontraste, z.B. beim DataPager-Feld-Editor.Changes to improve the display in High Contrast mode, like the Data Pager Fields Editor.
  • Änderungen zur Verbesserung der Benutzerfreundlichkeit bei der Tastaturnavigation für Steuerelemente, z.B. beim Dialogfeld „Felder“ im Assistenten für das Bearbeiten von Pagerfeldern des DataPager-Steuerelements, beim Dialogfeld „ObjectContext konfigurieren“ oder beim Dialogfeld „Datenauswahl konfigurieren“ des Assistenten zum Konfigurieren der Datenquelle.Changes to improve the keyboard navigation experiences for controls, like the Fields dialog in the Edit Pager Fields wizard of the DataPager control, the Configure ObjectContext dialog, or the Configure Data Selction dialog of the Configure Data Source wizard.
VorschlagSuggestion Aktivieren oder Deaktivieren dieser Änderungen: Damit diese Änderungen in Visual Studio Designer eingesetzt werden können, muss das Tool unter .NET Framework 4.7.1 oder höher ausgeführt werden.How to opt in or out of these changesIn order for the Visual Studio Designer to benefit from these changes, it must run on the .NET Framework 4.7.1 or later. Die Webanwendung kann diese Änderungen nutzen, wenn Sie folgende Schritte durchführen:The web application can benefit from these changes in either of the following ways:
  • Installieren Sie Visual Studio 2017 15.3 oder höher. Ab dieser Version werden die neuen Barrierefreiheitsfeatures mit der unten aufgeführten AppContext-Option standardmäßig unterstützt.Install Visual Studio 2017 15.3 or later, which supports the new accessibility features with the following AppContext Switch by default.
  • Deaktivieren Sie die Legacy-Barrierefreiheitsverhalten, indem Sie in der Konfigurationsdatei „devenv.exe“ dem Abschnitt <runtime> die AppContext-Option Switch.UseLegacyAccessibilityFeatures hinzufügen und sie auf false festlegen, wie im folgenden Beispiel dargestellt wird.Opt out of the legacy accessibility behaviors by adding the Switch.UseLegacyAccessibilityFeatures AppContext switch to the <runtime> section in the devenv.exe.config file and setting it to false, as the following example shows.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
...
<!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true/false;key2=true/false'  -->
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false" />
...
</runtime>
</configuration>
Bei Anwendungen, die .NET Framework 4.7.1 oder höher als Zielplattform verwenden und die Legacy-Barrierefreiheitsverhalten beibehalten sollen, können Sie die Verwendung des veralteten Features für die Barrierefreiheit aktivieren, indem Sie die AppContext-Option auf true festlegen.Applications that target the .NET Framework 4.7.1 or later and want to preserve the legacy accessibility behavior can opt in to the use of legacy accessibility features by explicitly setting this AppContext switch to true.
BereichScope GeringMinor
VersionVersion 4.7.14.7.1
TypType NeuzuweisungRetargeting

KernspeicherCore

Ausnahmen in SerialPort-HintergrundthreadsSerialPort background thread exceptions

DetailsDetails Mit SerialPort-Streams erstellte Hintergrundthreads beenden den Prozess nicht mehr, wenn Betriebssystemausnahmen ausgelöst werden.Background threads created with SerialPort streams no longer terminate the process when OS exceptions are thrown.
In Anwendungen, die auf .NET Framework 4.7 und frühere Versionen ausgelegt sind, wird ein Prozess beendet, wenn eine Betriebssystemausnahme in einem Hintergrundthread ausgelöst wird, der mit einem SerialPort-Stream erstellt wurde.In applications that target the .NET Framework 4.7 and earlier versions, a process is terminated when an operating system exception is thrown on a background thread created with a SerialPort stream.
In Anwendungen, die auf .NET Framework 4.7.1 oder eine höhere Version ausgelegt sind, warten Hintergrundthreads auf Betriebssystemereignisse im Zusammenhang mit der aktiven seriellen Schnittstelle und können in einigen Fällen abstürzen, z. B. beim plötzlichen Entfernen der seriellen Schnittstelle.In applications that target the .NET Framework 4.7.1 or a later version, background threads wait for OS events related to the active serial port and could crash in some cases, such as sudden removal of the serial port.
VorschlagSuggestion Für Apps mit der Zielplattform .NET Framework 4.7.1 können Sie sich gegen die Ausnahmebehandlung entscheiden, wenn sie nicht erwünscht ist, indem Sie Folgendes dem Abschnitt <runtime> Ihrer app.config-Datei hinzufügen:For apps that target the .NET Framework 4.7.1, you can opt out of the exception handling if it is not desirable by adding the following to the <runtime> section of your app.config file:
<runtime>
<AppContextSwitchOverrides value="Switch.System.IO.Ports.DoNotCatchSerialStreamThreadExceptions=true" />
</runtime>
Bei Anwendungen, die für frühere Versionen von .NET Framework vorgesehen sind, aber in .NET Framework 4.7.1 oder höher ausgeführt werden, können Sie die Ausnahmebehandlung verwenden, indem Sie Folgendes dem Abschnitt <runtime> der app.config-Datei hinzufügen:For apps that target earlier versions of the .NET Framework but run on the .NET Framework 4.7.1 or later, you can opt in to the exception handling by adding the following to the <runtime> section of your app.config file:
<runtime>
<AppContextSwitchOverrides value="Switch.System.IO.Ports.DoNotCatchSerialStreamThreadExceptions=false" />
</runtime>
BereichScope GeringMinor
VersionVersion 4.7.14.7.1
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

ServiceBase überträgt OnStart-Ausnahmen nichtServiceBase doesn't propagate OnStart exceptions

DetailsDetails In .NET Framework 4.7 und früheren Versionen werden Ausnahmen, die beim Dienststart ausgelöst werden, nicht an den Aufrufer von ServiceBase.Run weitergegeben.In the .NET Framework 4.7 and earlier versions, exceptions thrown on service startup are not propagated to the caller of ServiceBase.Run.
Beginnend mit Anwendungen, die auf .NET Framework 4.7.1 ausgelegt sind, gibt die Laufzeit Ausnahmen an ServiceBase.Run für Dienste weiter, die nicht gestartet werden können.Starting with applications that target the .NET Framework 4.7.1, the runtime propagates exceptions to ServiceBase.Run for services that fail to start.
VorschlagSuggestion Wenn beim Start des Diensts eine Ausnahme auftritt, wird diese Ausnahme weitergegeben.On service start, if there is an exception, that exception will be propagated. Dies sollte bei der Diagnose von Fällen helfen, in denen Dienste nicht starten können.This should help diagnose cases where services fail to start.
Wenn dieses Verhalten nicht erwünscht ist, können Sie sich dagegen entscheiden, indem Sie das folgende <AppContextSwitchOverrides>-Element dem Abschnitt <runtime> Ihrer Anwendungskonfigurationsdatei hinzufügen:If this behavior is undesirable, you can opt out of it by adding the following <AppContextSwitchOverrides> element to the <runtime> section of your application configuration file:
<AppContextSwitchOverrides value="Switch.System.ServiceProcess.DontThrowExceptionsOnStart=true" />
Wenn Ihre Anwendung auf eine frühere Version als 4.7.1 ausgerichtet ist und dieses Verhalten erforderlich ist, können Sie das folgende <AppContextSwitchOverrides>-Element dem Abschnitt <runtime> Ihrer Anwendungskonfigurationsdatei hinzufügen:If your application targets an earlier version than 4.7.1 but you want to have this behavior, add the following <AppContextSwitchOverrides> element to the <runtime> section of your application configuration file:
<AppContextSwitchOverrides value="Switch.System.ServiceProcess.DontThrowExceptionsOnStart=false" />
BereichScope GeringMinor
VersionVersion 4.7.14.7.1
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

SicherheitSecurity

Die Standardalgorithmen SignedXML und SignedXMS wurden in SHA-256 geändertDefault SignedXML and SignedXMS algorithms changed to SHA256

DetailsDetails In .NET Framework 4.7 und früheren Versionen verwenden SignedXML und SignedCMS für einige Vorgänge standardmäßig SHA-1. Ab .NET Framework 4.7.1 ist SHA-256 für diese Vorgänge standardmäßig aktiviert.In the .NET Framework 4.7 and earlier, SignedXML and SignedCMS default to SHA1 for some operations.Starting with the .NET Framework 4.7.1, SHA256 is enabled by default for these operations. Diese Änderung ist erforderlich, da SHA-1 nicht mehr sicher ist.This change is necessary because SHA1 is no longer considered to be secure.
VorschlagSuggestion Es gibt zwei neue Kontextwechselwerte, mit denen festgelegt wird, ob SHA-1 (unsicher) oder SHA-256 standardmäßig verwendet wird:There are two new context switch values to control whether SHA1 (insecure) or SHA256 is used by default:
  • Switch.System.Security.Cryptography.Xml.UseInsecureHashAlgorithmsSwitch.System.Security.Cryptography.Xml.UseInsecureHashAlgorithms
  • Switch.System.Security.Cryptography.Pkcs.UseInsecureHashAlgorithmsSwitch.System.Security.Cryptography.Pkcs.UseInsecureHashAlgorithms
Bei Apps mit der Zielplattform .NET Framework 4.7.1 und höheren Versionen kann die Verwendung von SHA-1 als Standardoption wiederhergestellt werden, wenn die Verwendung von SHA-256 nicht erwünscht ist, indem die folgende Konfigurationsoption dem Abschnitt runtime Ihrer Anwendungskonfigurationsdatei hinzugefügt wird:For applications that target the .NET Framework 4.7.1 and later versions, if the use of SHA256 is undesirable, you can restore the default to SHA1 by adding the following configuration switch to the runtime section of your app config file:
<AppContextSwitchOverrides value="Switch.System.Security.Cryptography.Xml.UseInsecureHashAlgorithms=true;Switch.System.Security.Cryptography.Pkcs.UseInsecureHashAlgorithms=true" />
Bei Apps mit der Zielplattform .NET Framework 4.7 und früheren Versionen können Sie sich für diese Änderung entscheiden, indem Sie die folgende Konfigurationsoption dem Abschnitt runtime Ihrer Anwendungskonfigurationsdatei hinzufügen:For applications that target the .NET Framework 4.7 and earlier versions, you can opt into this change by adding the following configuration switch to the runtime section of your app config file:
<AppContextSwitchOverrides value="Switch.System.Security.Cryptography.Xml.UseInsecureHashAlgorithms=false;Switch.System.Security.Cryptography.Pkcs.UseInsecureHashAlgorithms=false" />
BereichScope GeringMinor
VersionVersion 4.7.14.7.1
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

SignedXml.GetPublicKey gibt unter .NET Framework 4.6.2 RSACng (oder CngLightup) zurück, ohne Änderungen neu zuzuweisenSignedXml.GetPublicKey returns RSACng on net462 (or lightup) without retargeting change

DetailsDetails Ab .NET Framework 4.6.2 wird für den konkreten Typ des Objekts, das von der SignedXml.GetPublicKey-Methode zurückgegeben wird, nicht mehr die CryptoServiceProvider-Implementierung, sondern eine Cng-Implementierung verwendet. Probleme sind durch diese Änderung nicht aufgetreten.Starting with the .NET Framework 4.6.2, the concrete type of the object returned by the SignedXml.GetPublicKey method changed (without a quirk) from a CryptoServiceProvider implementation to a Cng implementation. Der Grund für die Änderung ist, dass für die Implementierung anstelle von certificate.PublicKey.Key nun die interne Methode certificate.GetAnyPublicKey verwendet wird, die eine Weiterleitung zu RSACertificateExtensions.GetRSAPublicKey vornimmt.This is because the implementation changed from using certificate.PublicKey.Key to using the internal certificate.GetAnyPublicKey which forwards to RSACertificateExtensions.GetRSAPublicKey.
VorschlagSuggestion Für Apps, die unter .NET Framework 4.7.1 oder einer neueren Version ausgeführt werden, können Sie die standardmäßig von .NET Framework 4.6.1 und früheren Versionen verwendete CryptoServiceProvider-Implementierung verwenden, indem Sie dem Abschnitt runtime Ihrer Anwendungskonfigurationsdatei die folgende Konfigurationsoption hinzufügen:Starting with apps running on the .NET Framework 4.7.1, you can use the CryptoServiceProvider implementation used by default in the .NET Framework 4.6.1 and earlier versions by adding the following configuration switch to the runtime section of your app config file:
<AppContextSwitchOverrides value="Switch.System.Security.Cryptography.Xml.SignedXmlUseLegacyCertificatePrivateKey=true" />
BereichScope Microsoft EdgeEdge
VersionVersion 4.6.24.6.2
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)

Verbesserte Barrierefreiheit für einige .NET SDK-ToolsImproved accessibility for some .NET SDK tools

DetailsDetails Im .NET Framework SDK 4.7.1 wurden die Tools „SvcConfigEditor.exe“ und „SvcTraceViewer.exe“ verbessert, indem verschiedene Probleme mit der Barrierefreiheit behoben wurden.In the .NET Framework SDK 4.7.1, the SvcConfigEditor.exe and SvcTraceViewer.exe tools have been improved by fixing varied accessibility issues. Bei den meisten handelte es sich um kleinere Probleme, durch die ein Name nicht definiert wurde oder bestimmte Muster für die Benutzeroberflächenautomatisierung nicht richtig implementiert wurden.Most of these were small issues like a name not being defined or certain UI automation patterns not being implemented correctly. Obwohl viele Benutzer diese falschen Werte nicht bemerken würden, erhöhen die SDK-Tools die Benutzerfreundlichkeit für Kunden, die Hilfstechnologien wie die Sprachausgabe verwenden.While many users wouldn’t be aware of these incorrect values, customers who use assistive technologies like screen readers will find these SDK tools more accessible. Diese Problembehebungen ändern vorherige Verhalten wie z.B. die Tastaturfokusreihenfolge. Sie können der Datei „app.config“ Folgendes hinzufügen, um alle Problembehebungen für die Barrierefreiheit in diesen Tools nutzen zu können:Certainly, these fixes change some previous behaviors, like keyboard focus order.In order to get all the accessibility fixes in these tools, you can the following to your app.config file:
<runtime>
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false"/>
</runtime>
BereichScope Microsoft EdgeEdge
VersionVersion 4.7.14.7.1
TypType NeuzuweisungRetargeting

Windows FormsWindows Forms

Verbesserung der Barrierefreiheit von Windows Forms-SteuerelementenAccessibility improvements in Windows Forms controls

DetailsDetails Die Arbeitsweise von Windows Forms mit Technologien für die Barrierefreiheit wird verbessert, um die Kunden von Windows Forms besser zu unterstützen.Windows Forms is improving how it works with accessibility technologies to better support Windows Forms customers. Dazu gehören die folgenden Änderungen ab .NET Framework 4.7.1:These include the following changes starting with the .NET Framework 4.7.1:
  • Änderungen zum Verbessern der Anzeige während des Modus mit hohem KontrastChanges to improve display during High Contrast mode.
  • Änderungen zum Verbessern der Benutzerfreundlichkeit des EigenschaftenbrowsersChanges to improve the property browser experience. Folgende Verbesserungen wurden am Eigenschaftenbrowser vorgenommen:Property browser improvements include:
  • Eine verbesserte Tastaturnavigation durch die verschiedenen Fenster der DropdownauswahlBetter keyboard navigation through the various drop-down selection windows.
  • Unnötige Tabstopps wurden reduziert.Reduced unnecessary tab stops.
  • Eine verbesserte Berichterstellung der SteuerelementtypenBetter reporting of control types.
  • Ein verbessertes Verhalten der SprachausgabeImproved narrator behavior.
  • Änderungen an der Implementierung fehlender Barrierefreiheitsmuster für die Benutzeroberfläche in SteuerelementenChanges to implement missing UI accessibility patterns in controls.
VorschlagSuggestion Aktivieren bzw. Deaktivieren dieser ÄnderungenHow to opt in or out of these changes
Damit die Anwendung von diesen Änderungen profitieren kann, muss sie unter .NET Framework 4.7.1 oder höher ausgeführt werden.In order for the application to benefit from these changes, it must run on the .NET Framework 4.7.1 or later. Die Anwendung kann von diesen Änderungen profitieren, wenn Sie Folgendes durchführen:The application can benefit from these changes in either of the following ways:
  • Kompilieren Sie diese erneut, um .NET Framework 4.7.1 anzuzielen.It is recompiled to target the .NET Framework 4.7.1. Diese Änderungen der Barrierefreiheit werden standardmäßig für WPF-Anwendungen aktiviert, die .NET Framework 4.7.1 oder höher anzielen.These accessibility changes are enabled by default on Windows Forms applications that target the .NET Framework 4.7.1 or later.
  • Veraltete Verhaltensweisen der Barrierefreiheit werden deaktiviert, indem wie im folgenden Beispiel dargestellt folgendes AppContext-Element zum <runtime>-Abschnitt der app.config-Datei hinzugefügt und auf false festgelegt wird.It opts out of the legacy accessibility behaviors by adding the following AppContext switch to the <runtime> section of the app.config file and setting it to false, as the following example shows.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7"/>
</startup>
<runtime>
<!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true/false;key2=true/false  -->
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false" />
</runtime>
</configuration>

Bei Anwendungen, die .NET Framework 4.7.1 oder höher als Zielplattform verwenden und die Legacy-Barrierefreiheitsverhalten beibehalten sollen, können Sie die Verwendung des veralteten Features für die Barrierefreiheit aktivieren, indem Sie die AppContext-Option auf true festlegen.Applications that target the .NET Framework 4.7.1 or later and want to preserve the legacy accessibility behavior can opt in to the use of legacy accessibility features by explicitly setting this AppContext switch to true.

Einen Überblick über die Benutzeroberflächenautomatisierung finden Sie unter Benutzeroberflächenautomatisierung: Übersicht.For an overview of UI automation, see the UI Automation Overview.

Hinzugefügte Unterstützung für Benutzeroberflächen-Automatisierungsmuster und -EigenschaftenAdded support for UI Automation patterns and properties
Barrierefreiheitsclients können neue WinForms-Barrierefreiheitsfunktionen nutzen, indem allgemeine, öffentlich beschriebene Aufrufmuster verwendet werden.Accessibility clients can take advantage of new WinForms accessibility functionality by using common, publicly described invocation patterns. Diese Muster sind nicht für WinForms spezifisch.These patterns are not WinForms-specific. Clients für die Barrierefreiheit können beispielsweise die QueryInterface-Methode der IAccessible-Schnittstelle (MAAS) aufrufen, um eine IServiceProvider-Schnittstelle abzurufen.For instance, accessibility clients can call the QueryInterface method on the IAccessible interface (MAAS) to obtain an IServiceProvider interface. Wenn diese Schnittstelle verfügbar ist, können Clients die QueryService-Methode verwenden, um eine IAccessibleEx-Schnittstelle anzufordern.If this interface is available, clients can use its QueryService method to request an IAccessibleEx interface. Weitere Informationen finden Sie unter Using IAccessibleEx from a Client (Verwenden von IAccessibleEx über einen Client).For more information, see Using IAccessibleEx from a Client. Ab .NET Framework 4.7.1 sind IServiceProvider und IAccessibleEx gegebenenfalls für WinForms-Objekte für die Barrierefreiheit verfügbar.Starting with the .NET Framework 4.7.1, IServiceProvider and IAccessibleEx (where applicable) are available for WinForms accessibility objects.

.NET Framework 4.7.1 fügt Unterstützung für folgende Muster und Eigenschaften für die Automatisierung der Benutzeroberfläche hinzu:The .NET Framework 4.7.1 adds support for the following UI automation patterns and properties:

Verbesserungen am PropertyGrid-SteuerelementImprovements to the PropertyGrid control
Mit .NET Framework 4.7.1 werden folgende Verbesserungen zum PropertyBrowser-Steuerelement hinzugefügt:The .NET Framework 4.7.1 adds the following improvements to the PropertyBrowser control:
  • Die Schaltfläche Details im Dialogfeld „Fehler“, das angezeigt wird, wenn der Benutzer einen falschen Wert in das PropertyGrid-Steuerelement eingibt, unterstützt das Muster Erweitern/Reduzieren, Benachrichtigungen für Status- und Namensänderungen und eine ControlType-Eigenschaft mit einem Wert von ControlType.MenuItem.The Details button in the error dialog that is displayed when the user enters an incorrect value in the PropertyGrid control supports the Expand/Collapse pattern, state and name change notifications, and a ControlType property with a value of ControlType.MenuItem.
  • Auf den Bereich „Meldung“, der angezeigt wird, wenn die Schaltfläche Details des Dialogfelds „Fehler“ erweitert ist, kann nun über die Tastatur zugegriffen werden. Außerdem kann die Microsoft-Sprachausgabe den Inhalt der Fehlermeldung ausgeben.The message pane displayed when the Details button of the error dialog is expanded is now keyboard accessible and allows Narrator to announce the content of the error message.
  • Das AccessibleRole-Element der Zeilen im PropertyGrid-Steuerelement wurde von "Zeile" in "Zelle" geändert.The AccessibleRole of rows in the PropertyGrid control have changed from "Row" to "Cell". Die Zelle wird dem UIA-ControlType-Element "DataItem" zugeordnet, wodurch entsprechende Tastenkombinationen und Microsoft-Sprachausgaben unterstützt werden.The cell maps to UIA ControlType "DataItem", which allows it to support appropriate keyboard shortcuts and Narrator announcements.
  • Die Zeilen des PropertyGrid-Steuerelements, die Headerelemente darstellen, wenn die PropertySort-Eigenschaft des PropertyGrid-Steuerelements auf PropertySort.Categorized festgelegt ist, weisen einen ControlType-Eigenschaftswert von ControlType.Button auf.The PropertyGrid control rows that represent header items when the PropertyGrid control has a PropertySort property set to PropertySort.Categorized have a ControlType property value of ControlType.Button.
  • Die Zeilen des PropertyGrid-Steuerelements, die Headerelemente darstellen, wenn die PropertySort-Eigenschaft des PropertyGrid-Steuerelements auf PropertySort.Categorized festgelegt ist, unterstützen das Muster Erweitern/Reduzieren.The PropertyGrid control rows that represent header items when the PropertyGrid control has a PropertySort property set to PropertySort.Categorized support the Expand/Collapse pattern.
  • Verbesserte Tastaturnavigation zwischen dem Raster und der darüber liegenden Symbolleiste.Improved keyboard navigation between the grid and the ToolBar above it. Durch das Drücken von "UMSCHALTTASTE+TAB" wird nun die erste Schaltfläche der Symbolleiste anstelle der gesamten Symbolleiste ausgewählt.Pressing "Shift-Tab" now selects the first ToolBar button, instead of the whole ToolBar.
  • Bei den PropertyGrid-Steuerelementen, die im Modus mit hohem Kontrast angezeigt werden, wird nun ein Fokusrechteck um die Schaltfläche des Steuerelements angezeigt, die dem aktuellen Wert der PropertySort-Eigenschaft entspricht.PropertyGrid controls displayed in High Contrast mode will now draw a focus rectangle around the ToolBar button which corresponds to the current PropertySort property value.
  • Bei PropertyGrid-Steuerelementen, die im Modus mit hohem Kontrast angezeigt werden, und bei denen eine PropertySort-Eigenschaft auf PropertySort.Categorized festgelegt ist, wird nun der Hintergrund von Kategorieheadern in kontrastreicher Farbe angezeigt.PropertyGrid controls displayed in High Contrast mode and with a PropertySort property set to PropertySort.Categorized will now display the background of category headers in a highly contrasting color.
  • Bei PropertyGrid-Steuerelementen wird besser zwischen den Elementen der Symbolleiste mit Fokus und denen, die den aktuellen Wert der PropertySort-Eigenschaft angeben, unterschieden.PropertyGrid controls better differentiates between ToolBar items with focus and the ToolBar items which indicate the current value of the PropertySort property. Dieser Fehlerbehebung besteht aus einer Änderung für Szenarios mit und ohne hohen Kontrast.This fix consists of a High Contrast change and a change for non-High Contrast scenarios.
  • ToolBar-Elemente des PropertyGrid-Steuerelements, die den aktuellen Wert der PropertySort-Eigenschaft angeben, unterstützen das TogglePattern.PropertyGrid control ToolBar items which indicates the current value of the PropertySort property support the TogglePattern.
  • Verbesserte Unterstützung der Unterscheidung der ausgewählten Ausrichtung in der Ausrichtungsauswahl durch die Microsoft-Sprachausgabe.Improved Narrator support for distinguishing the selected alignment in the Alignment Picker.
  • Wenn ein leeres PropertyGrid-Steuerelement in einem Formular angezeigt wird, wird dieses nun fokussiert. Dies war zuvor nicht der Fall.When an empty PropertyGrid control is displayed on a form, it will now receive focus where previously it would not.

Verwendung von durch das Betriebssystem definierten Farben in Designs mit hohem KontrastUse of OS-defined colors in High Contrast themes
  • Die Button- und CheckBox-Steuerelementen, deren FlatStyle-Eigenschaft auf FlatStyle.System (Standardformat) festgelegt ist, verwenden nun die vom Betriebssystem definierten Farben im Design mit hohem Kontrast, wenn dieses ausgewählt ist.The Button and CheckBox controls with their FlatStyle property set to FlatStyle.System, which is the default style, now use OS-defined colors in High Contrast theme when selected. Zuvor gab es keinen Kontrast zwischen Text und Hintergrundfarbe, wodurch der Text schwer lesbar war.Previously, text and background colors were not contrasting and were hard to read.
  • Die Button-, CheckBox-, RadioButton-, Label-, LinkLabel- und GroupBox-Steuerelemente, deren Enabled-Eigenschaft auf FALSE festgelegt ist, verwendeten schattierte Farben zum Rendern von Text in Designs mit hohem Kontrast. Dies führt zu geringem Kontrast vor dem Hintergrund.The Button, CheckBox, RadioButton, Label, LinkLabel, and GroupBox controls with their Enabled property set to false used a shaded color to render text in High Contrast themes, resulting in low contrast against the background. Diese Steuerelemente verwenden nun die vom Betriebssystem definierte Farbe für "deaktivierten Text".Now these controls use the "Disabled Text" color defined by the OS. Diese Fehlerbehebung gilt für Steuerelemente, bei denen die FlatStyle-Eigenschaft auf einen anderen Wert als FlatStyle.System festgelegt ist.This fix applies to controls with the FlatStyle property set to a value other than FlatStyle.System. Die zuletzt aufgeführten Steuerelemente werden vom Betriebssystem gerendert.The latter controls are rendered by the OS.
  • DataGridView rendert nun ein sichtbares Rechteck um den Inhalt der Zelle, die derzeit fokussiert wird.DataGridView now renders a visible rectangle around the content of the cell which has the current focus. Zuvor wurde dieses in bestimmten Designs mit hohem Kontrast nicht angezeigt.Previously, this was not visible in certain High Contrast themes.
  • ToolStripMenuItem-Steuerelemente, deren Enabled-Eigenschaft auf FALSE festgelegt ist, verwenden nun die vom Betriebssystem definierte Farbe für "deaktivierten Text".ToolStripMenuItem controls with their Enabled property set to false now use the "Disabled Text" color defined by the OS.
  • ToolStripMenuItem-Steuerelemente, deren Checked-Eigenschaft auf TRUE festgelegt ist, rendern nun das zugehörige Häkchen in einer kontrastreichen Systemfarbe.ToolStripMenuItem controls with their Checked property set to true now render the associated check mark in a contrasting system color. Zuvor war die Farbe des Häkchens nicht kontrastreich genug, weshalb es in Designs mit hohem Kontrast nicht sichtbar war.Previously the check mark color was not contrasting enough and not visible in High Contrast themes.
HINWEIS: In Windows 10 wurden die Werte für einige Systemfarben mit hohem Kontrast geändert.NOTE: Windows 10 has changed values for some high contrast system colors. Das Windows Forms-Framework basiert auf dem Win32-Framework.Windows Forms Framework is based on the Win32 framework. Führen Sie für die besten Ergebnisse die aktuelle Version von Windows aus, und aktivieren Sie die neuesten Änderungen am Betriebssystem, indem Sie eine app.manifest-Datei zu einer Testanwendung hinzufügen und den Kommentar aus folgendem Code entfernen:For the best experience, run on the latest version of Windows and opt in to the latest OS changes by adding an app.manifest file in a test application and uncommenting the following code:
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />

Verbesserte TastaturnavigationImproved keyboard navigation
  • Wenn für ein ComboBox-Steuerelement seine DropDownStyle-Eigenschaft auf ComboBoxStyle.DropDownList festgelegt ist und es das erste Steuerelement in der Aktivierreihenfolge des Formulars ist, zeigt dieses nun ein Fokusrechteck an, wenn das übergeordnete Formular mithilfe der Tastatur geöffnet wird.When a ComboBox control has its DropDownStyle property set to ComboBoxStyle.DropDownList and is the first control in the tab order on the form, it now displays a focus rectangle when the parent form is opened using the keyboard. Vor dieser Änderung lag der Tastaturfokus auf diesem Steuerelement, es wurde jedoch kein Fokusindikator gerendert.Before this change, keyboard focus was on this control, but a focus indicator was not rendered.
Verbesserte Unterstützung für die SprachausgabeImproved Narrator support
  • Dem MonthCalendar-Steuerelement wurde die Unterstützung für Hilfstechnologien hinzugefügt, damit diese auf das Steuerelement zugreifen können. Dazu zählt auch die Funktion der Microsoft-Sprachausgabe, den Wert des Steuerelements auszugeben. Dies war zuvor nicht möglich.The MonthCalendar control has added support for assistive technologies to access the control, including the ability for Narrator to read the value of the control when previously it could not.
  • Das CheckedListBox-Steuerelement benachrichtigt die Sprachausgabe nun, wenn eine CheckBox.CheckState-Eigenschaft geändert wurde.The CheckedListBox control now notifies Narrator when a CheckBox.CheckState property has been changed. Zuvor erhielt die Sprachausgabe keine Benachrichtigung. Deshalb wurden Benutzer nicht darüber informiert, dass die CheckState-Eigenschaft aktualisiert wurde.Previously, Narrator did not receive notification and as a result users would not be informed that the CheckState property had been updated.
  • Die Art, wie das LinkLabel-Steuerelement die Microsoft-Sprachausgabe über den Text des Steuerelements benachrichtigt, wurde geändert.The LinkLabel control has changed the way it notifies Narrator of the text of in the control. Zuvor hat die Microsoft-Sprachausgabe diesen Text zweimal und die Symbole "&" als Text ausgegeben, obwohl diese für den Benutzer nicht sichtbar sind.Previously, Narrator announced this text twice and read "&" symbols as real text even though they are not visible to a user. Der doppelten Text sowie die unnötigen "&"-Symbole wurden aus den Ausgaben der Microsoft-Sprachausgabe entfernt.The duplicated text was removed from the Narrator announcements, as well as unnecessary "&" symbols.
  • Die DataGridViewCell-Steuerelementtypen melden den schreibgeschützten Status nun ordnungsgemäß an die Microsoft-Sprachausgabe und andere Hilfstechnologien.The DataGridViewCell control types now correctly report the read-only status to Narrator and other assistive technologies.
  • Die Sprachausgabe kann jetzt das Systemmenü untergeordneter Fenster in [Multiple-Document Interface]~/docs/framework/winforms/advanced/multiple-document-interface-mdi-applications.md)-Anwendungen lesen.Narrator is now able to read the System Menu of child windows in [Multiple-Document Interface]~/docs/framework/winforms/advanced/multiple-document-interface-mdi-applications.md) applications.
  • Die Microsoft-Sprachausgabe kann nun ToolStripMenuItem-Steuerelemente ausgeben, bei der die ToolStripItem.Enabled-Eigenschaft auf FALSE festgelegt ist.Narrator is now able to read ToolStripMenuItem controls with a ToolStripItem.Enabled property set to false. Zuvor konnte die Sprachausgabe den Fokus nicht auf deaktivierte Menüelemente verschieben, um deren Inhalt auszugeben.Previously, Narrator was unable to focus on disabled menu items to read the content.
BereichScope HauptversionMajor
VersionVersion 4.7.14.7.1
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)

Verbesserungen der Barrierefreiheit in WPFAccessibility improvements in WPF

DetailsDetails Verbesserungen beim hohen KontrastHigh Contrast improvements
  • Der Fokus für das Expander-Steuerelement wird nun angezeigt.The focus for the Expander control is now visible. In früheren Versionen von .NET Framework war dies nicht der Fall.In previous versions of the .NET Framework, it was not.
  • Der Text, der in den CheckBox- und RadioButton-Steuerelementen angezeigt wird, wenn diese ausgewählt sind, ist nun einfacher erkennbar als in den vorherigen Versionen von .NET Framework.The text in CheckBox and RadioButton controls when they are selected is now easier to see than in previous .NET Framework versions.
  • Der Rahmen eines deaktivierten ComboBox-Elements hat nun die gleiche Farbe wie der deaktivierte Text.The border of a disabled ComboBox is now the same color as the disabled text. In früheren Versionen von .NET Framework war dies nicht der Fall.In previous versions of the .NET Framework, it was not.
  • Deaktivierte Schaltflächen und Schaltflächen mit Fokus verwenden nun das richtige Farbdesign.Disabled and focused buttons now use the correct theme color. In früheren Versionen von .NET Framework war dies nicht der Fall.In previous versions of the .NET Framework, they did not.
  • Die Dropdownschaltfläche ist nun sichtbar, wenn das Format eines ComboBox-Steuerelements auf ToolBar.ComboBoxStyleKey festgelegt ist. In früheren Versionen von .NET Framework war dies nicht der Fall.The dropdown button is now visible when a ComboBox control's style is set to ToolBar.ComboBoxStyleKey, In previous versions of the .NET Framework, it was not.
  • Der Pfeil für die Sortieranzeige in einem DataGrid-Steuerelement verwendet nun die Farben des Designs.The sort indicator arrow in a DataGrid control now uses theme colors. In früheren Versionen von .NET Framework war dies nicht der Fall.In previous versions of the .NET Framework, it did not.
  • Das Standardformat für Links ändert sich nun in das richtige Farbdesign, wenn mit der Maus darauf gezeigt wird.The default hyperlink style now changes to the correct theme color on mouse over. In früheren Versionen von .NET Framework war dies nicht der Fall.In previous versions of the .NET Framework, it did not.
  • Es wird nun angezeigt, wenn der Tastaturfokus sich auf Optionsfeldern befindet.The Keyboard focus on radio buttons is now visible. In früheren Versionen von .NET Framework war dies nicht der Fall.In previous versions of the .NET Framework, it was not.
  • Die Spalte für Kontrollkästchen des DataGrid-Steuerelements verwendet nun die erwarteten Farben für das Feedback des Tastaturfokus.The DataGrid control's checkbox column now uses the expected colors for keyboard focus feedback. In früheren Versionen von .NET Framework war dies nicht der Fall.In previous versions of the .NET Framework, it did not.
  • Die visuellen Elemente des Tastaturfokus werden nun für ComboBox- und ListBox-Steuerelemente angezeigt.the Keyboard focus visuals are now visible on ComboBox and ListBox controls. In früheren Versionen von .NET Framework war dies nicht der Fall.In previous versions of the .NET Framework, it was not.

Verbesserungen der Interaktion mit der SprachausgabeScreen reader interaction improvements
  • Expander-Steuerelemente werden von der Sprachausgabe nun richtig als Gruppen (erweitern/reduzieren) ausgegeben.Expander controls are now correctly announced as groups (expand/collapse) by screen readers.
  • DataGridCell-Steuerelemente werden von der Sprachausgabe nun richtig als Datenrasterzellen (lokalisiert) ausgegeben.DataGridCell controls are now correctly announced as data grid cell (localized) by screen readers.
  • Die Sprachausgabe gibt nun den Namen eines bearbeitbaren ComboBox-Elements aus.Screen readers will now announce the name of an editable ComboBox.
  • PasswordBox-Steuerelemente werden von der Sprachausgabe nicht mehr als "Es befindet sich kein Element in der Ansicht." ausgegeben.PasswordBox controls are no longer announced as "no item in view" by screen readers.

LiveRegion-UnterstützungLiveRegion support
Sprachausgaben wie die Microsoft-Sprachausgabe unterstützen die Benutzer dabei, die Inhalte der Benutzeroberfläche einer Anwendung zu erkennen. Üblicherweise wird dies durch eine Beschreibung des Teils der Benutzeroberfläche erreicht, in dem sich zurzeit der Fokus befindet, da es sich dabei wahrscheinlich um das Element handelt, das für den Benutzer aktuell am wichtigsten ist.Screen readers such as Narrator help people know the UI contents of an application, usually by describing something about the UI that's currently focused, because that is probably the element of most interest to the user. Wenn ein Element der Benutzeroberfläche sich jedoch an einer beliebigen Stelle des Bildschirms ändert und nicht fokussiert wird, wird der Benutzer möglicherweise nicht informiert und verpasst wichtige Informationen.However, if a UI element changes somewhere in the screen and it does not have the focus, the user may not be informed and miss important information. LiveRegions wurden dafür entwickelt, dieses Problem zu lösen.LiveRegions are meant to solve this problem. Entwickler können diese verwenden, um der Sprachausgabe oder einem anderen Benutzeroberflächen-Automatisierungsclient mitzuteilen, dass eine wichtige Änderung an einem Element der Benutzeroberfläche vorgenommen wurde.A developer can use them to inform the screen reader or any other UI Automation client that an important change has been made to a UI element. Die Sprachausgabe kann dann entscheiden, wie und wann der Benutzer über diese Änderung informiert wird. Die LiveSetting-Eigenschaft sorgt ebenfalls dafür, dass die Sprachausgabe den Benutzer über Änderungen an der Benutzeroberfläche informiert.The screen reader can then decide how and when to inform the user of this change.The LiveSetting property also lets the screen reader know how important it is to inform the user of the change made to the UI.
VorschlagSuggestion Aktivieren bzw. Deaktivieren dieser ÄnderungenHow to opt in or out of these changes
Damit die Anwendung von diesen Änderungen profitieren kann, muss sie unter .NET Framework 4.7.1 oder höher ausgeführt werden.In order for the application to benefit from these changes, it must run on the .NET Framework 4.7.1 or later. Die Anwendung kann von diesen Änderungen profitieren, wenn Sie Folgendes durchführen:The application can benefit from these changes in either of the following ways:
  • Festlegen von .NET Framework 4.7.1 als Ziel.Target the .NET Framework 4.7.1. Dies ist die empfohlene Vorgehensweise.This is the recommended approach. Diese Änderungen der Barrierefreiheit werden standardmäßig für WPF-Anwendungen aktiviert, die .NET Framework 4.7.1 oder höher anzielen.These accessibility changes are enabled by default on WPF applications that target the .NET Framework 4.7.1 or later.
  • Veraltete Verhaltensweisen der Barrierefreiheit werden deaktiviert, indem wie im folgenden Beispiel dargestellt folgender AppContext-Schalter im Abschnitt <runtime> der Datei „app.config“ hinzugefügt und auf false festgelegt wird.It opts out of the legacy accessibility behaviors by adding the following AppContext Switch in the <runtime> section of the app config file and setting it to false, as the following example shows.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7"/>
</startup>
<runtime>
<!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true/false;key2=true/false  -->
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false" />
</runtime>
</configuration>
Bei Anwendungen, die .NET Framework 4.7.1 oder höher als Zielplattform verwenden und die Legacy-Barrierefreiheitsverhalten beibehalten sollen, können Sie die Verwendung des veralteten Features für die Barrierefreiheit aktivieren, indem Sie die AppContext-Option auf true festlegen.Applications that target the .NET Framework 4.7.1 or later and want to preserve the legacy accessibility behavior can opt in to the use of legacy accessibility features by explicitly setting this AppContext switch to true.
Einen Überblick über die Benutzeroberflächenautomatisierung finden Sie unter Benutzeroberflächenautomatisierung: Übersicht.For an overview of UI automation, see the UI Automation Overview.
BereichScope HauptversionMajor
VersionVersion 4.7.14.7.1
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

Selector-Klasse – SelectionChanged-Ereignis und SelectedValue-EigenschaftSelector SelectionChanged event and SelectedValue property

DetailsDetails Ab .NET Framework 4.7.1 aktualisiert ein Selector-Objekt immer den Wert der zugehörigen SelectedValue-Eigenschaft, bevor das Ereignis SelectionChanged ausgelöst wird, wenn die Auswahl geändert wird.Starting with the .NET Framework 4.7.1, a Selector always updates the value of its SelectedValue property before raising the SelectionChanged event, when its selection changes. Dadurch wird die „SelectedValue“-Eigenschaft mit den anderen Auswahleigenschaften (SelectedItem und SelectedIndex) in Einklang gebracht, die vor dem Auslösen des Ereignisses aktualisiert werden.This makes the SelectedValue property consistent with the other selection properties (SelectedItem and SelectedIndex), which are updated before raising the event.

In .NET Framework 4.7 und früheren Versionen wurde „SelectValue“ in den meisten Fällen vor der Auslösung des Ereignisses aktualisiert. Wenn die Änderung der Auswahl durch Ändern der SelectedValue-Eigenschaft ausgelöst wurde, fand die Aktualisierung jedoch nach dem Auslösen des Ereignisses statt.In the .NET Framework 4.7 and earlier versions, the update to SelectedValue happened before the event in most cases, but it happened after the event if the selection change was caused by changing the SelectedValue property.

VorschlagSuggestion Für Apps mit der Zielplattform .NET Framework 4.7.1 oder höher kann diese Änderung deaktiviert und das Legacyverhalten verwendet werden, indem Sie dem Abschnitt <runtime> der Anwendungskonfigurationsdatei Folgendes hinzufügen:Apps that target the .NET Framework 4.7.1 or later can opt out of this change and use legacy behavior by adding the following to the <runtime> section of the application configuration file:
<runtime>
<AppContextSwitchOverrides
value="Switch.System.Windows.Controls.TabControl.SelectionPropertiesCanLagBehindSelectionChangedEvent=true" />
</runtime>
Für Apps mit der Zielplattform .NET Framework 4.7 oder früheren Versionen, die unter .NET Framework 4.7.1 oder höher ausgeführt werden, kann das neue Verhalten aktiviert werden, indem Sie dem Abschnitt <runtime> der Anwendungskonfigurationsdatei die folgende Zeile hinzufügen:Apps that target the .NET Framework 4.7 or earlier but are running on the .NET Framework 4.7.1 or later can enable the new behavior by adding the following line to the <runtime> section of the application .configuration file:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Controls.TabControl.SelectionPropertiesCanLagBehindSelectionChangedEvent=false" />
</runtime>
BereichScope GeringMinor
VersionVersion 4.7.14.7.1
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

SelectionChanged-Ereignis und SelectedContent-Eigenschaft von „TabControl“TabControl SelectionChanged event and SelectedContent property

DetailsDetails Ab .NET Framework 4.7.1 aktualisiert TabControl den Wert der SelectedContent-Eigenschaft, bevor das SelectionChanged-Ereignis ausgelöst wird, wenn die Auswahl geändert wird. In .NET Framework 4.7 und früher wurde das Update für „SelectedContent“ nach dem Ereignis durchgeführt.Starting with the .NET Framework 4.7.1, a TabControl updates the value of its SelectedContent property before raising the SelectionChanged event, when its selection changes.In the .NET Framework 4.7 and earlier versions, the update to SelectedContent happened after the event.
VorschlagSuggestion Für Apps mit der Zielplattform .NET Framework 4.7.1 oder höher kann diese Änderung deaktiviert und das Legacyverhalten verwendet werden, indem Sie dem Abschnitt <runtime> der Anwendungskonfigurationsdatei Folgendes hinzufügen:Apps that target the .NET Framework 4.7.1 or later can opt out of this change and use legacy behavior by adding the following to the <runtime> section of the application configuration file:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Controls.TabControl.SelectionPropertiesCanLagBehindSelectionChangedEvent=true" />
</runtime>
Für Apps mit der Zielplattform .NET Framework 4.7 oder früheren Versionen, die unter .NET Framework 4.7.1 oder höher ausgeführt werden, kann das neue Verhalten aktiviert werden, indem Sie dem Abschnitt <runtime> der Anwendungskonfigurationsdatei die folgende Zeile hinzufügen:Apps that target the .NET Framework 4.7 or earlier but are running on the .NET Framework 4.7.1 or later can enable the new behavior by adding the following line to the <runtime> section of the application .configuration file:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Controls.TabControl.SelectionPropertiesCanLagBehindSelectionChangedEvent=false" />
</runtime>
BereichScope GeringMinor
VersionVersion 4.7.14.7.1
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

SHA256 ist jetzt der Standardhashalgorithmus für WPF-PackageDigitalSignatureManagerThe default hash algorithm for WPF PackageDigitalSignatureManager is now SHA256

DetailsDetails Der System.IO.Packaging.PackageDigitalSignatureManager stellt Funktionen zur digitalen Signatur von WPF-Paketen zur Verfügung.The System.IO.Packaging.PackageDigitalSignatureManager provides functionality for digital signatures in relation to WPF packages. In .NET Framework 4.7 und früheren Versionen, war SHA1 der Standardhashalgorithmus (PackageDigitalSignatureManager.DefaultHashAlgorithm), der zum Signieren von Paketbestandteilen verwendet wurde.In the .NET Framework 4.7 and earlier versions, the default algorithm (PackageDigitalSignatureManager.DefaultHashAlgorithm) used for signing parts of a package was SHA1. Diese Standardeinstellung wurde ab .NET Framework 4.7.1 aufgrund von Sicherheitsbedenken im Zusammenhang mit SHA1 auf SHA256 geändert.Due to recent security concerns with SHA1, this default has been changed to SHA256 starting with the .NET Framework 4.7.1. Diese Änderung betrifft die Signierung aller Pakete, einschließlich XPS-Dokumenten.This change affects all package signing, including XPS documents.
VorschlagSuggestion Ein Entwickler, der diese Änderung nutzen will, aber seine Anwendung auf eine ältere Version von .NET Framework als Version 4.7.1 auslegt, oder ein Entwickler, der die veraltete Funktion verwenden möchte, seine Anwendung jedoch auf .NET Framework 4.7.1 oder höher auslegt, können das „AppContext“-Flag entsprechend festlegen.A developer who wants to utilize this change while targeting a framework version below .NET Framework 4.7.1 or a developer who requires the previous functionality while targeting .NET Framework 4.7.1 or greater can set the following AppContext flag appropriately. Wenn ein TRUE-Wert zurückgegeben wird, wird SHA1 als Standardalgorithmus verwendet. Bei FALSE-Werten wird SHA256 zurückgegeben.A value of true will result in SHA1 being used as the default algorithm; false results in SHA256.
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.MS.Internal.UseSha1AsDefaultHashAlgorithmForDigitalSignatures=true"/>
</runtime>
</configuration>
BereichScope Microsoft EdgeEdge
VersionVersion 4.7.14.7.1
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

Windows Workflow Foundation (WF)Windows Workflow Foundation (WF)

Verbesserungen der Bedienungshilfen im Workflow-Designer von Windows Workflow Foundation (WF)Accessibility improvements in Windows Workflow Foundation (WF) workflow designer

DetailsDetails Die Arbeitsweise von Workflow-Designer von Windows Workflow Foundation (WF) mit Technologien für die Barrierefreiheit wurde verbessert.The Windows Workflow Foundation (WF) workflow designer is improving how it works with accessibility technologies. Diese Verbesserungen umfassen folgende Änderungen:These improvements include the following changes:
  • Die Aktivierreihenfolge wurde bei manchen Steuerelementen in „ Von links nach rechts“ und in „Von oben nach unten“ geändert:The tab order is changed to left to right and top to bottom in some controls:
  • Das Fenster „Korrelation initialisieren“ für das Festlegen von Korrelationsdaten für die InitializeCorrelation-AktivitätThe initialize correlation window for setting correlation data for the InitializeCorrelation activity
  • Das Fenster „Inhaltsdefinition“ für die Aktivitäten Receive, Send, SendReply und ReceiveReplyThe content definition window for the Receive, Send, SendReply, and ReceiveReply activities
  • Weitere Funktionen sind über die Tastatur verfügbar:More functions are available via the keyboard:
  • Beim Bearbeiten der Eigenschaften einer Aktivität können die Eigenschaftengruppen über die Tastatur reduziert werden, wenn diese zum ersten Mal fokussiert werden.When editing the properties of an activity, property groups can be collapsed by keyboard the first time they are focused.
  • Auf Warnsymbole kann nun über die Tastatur zugegriffen werden.Warning icons are now accessible by keyboard.
  • Auf die Schaltfläche „Weitere Eigenschaften“ im Fenster „Eigenschaften“ kann nun über die Tastatur zugegriffen werden.The More Properties button in the Properties window is now accessible by keyboard.
  • Tastaturbenutzer können nun auf die Headerelemente in den Bereichen „Argumente“ und „Variablen“ des Workflow-Designers zugreifen.Keyboard users now can access the header items in the Arguments and Variables panes of the Workflow Designer.
  • Verbesserte Sichtbarkeit von Elementen mit Fokus, z.B. in folgenden Fällen:Improved visibility of items with focus, such as when:
  • Hinzufügen von Zeilen zu Datenrastern, die vom Workflow-Designer und von Aktivitäts-Designern verwendet werdenAdding rows to data grids used by the Workflow Designer and activity designers.
  • Wechseln von Feldern mit der TAB-TASTE in den Aktivitäten ReceiveReply und SendReplyTabbing through fields in the ReceiveReply and SendReply activities.
  • Festlegen von Standardwerten für Variablen oder ArgumenteSetting default values for variables or arguments
  • Sprachausgaben können Folgendes nun richtig erkennen:Screen readers can now correctly recognize:
  • Breakpoints, die im Workflow-Designer festgelegt wurdenBreakpoints set in the workflow designer.
  • Die Aktivitäten FlowSwitch<T>, FlowDecision und CorrelationScopeThe FlowSwitch<T>, FlowDecision, and CorrelationScope activities.
  • Die Inhalte der Receive-AktivitätThe contents of the Receive activity.
  • Den Zieltyp für die InvokeMethod-AktivitätThe Target Type for the InvokeMethod activity.
  • Das Kombinationsfeld „Ausnahme“ und den Abschnitt „Finally“ in der TryCatch-AktivitätThe Exception combobox and the Finally section in the TryCatch activity.
  • Das Kombinationsfeld „Nachrichtentyp“, den Splitter im Fenster „Korrelationsinitialisierer hinzufügen“, das Fenster „Inhaltsdefinition“ und das Definitionsfenster „CorrelatesOn“ in den Messagingaktivitäten (Receive, Send, SendReply und ReceiveReply)The Message Type combobox, the splitter in the Add Correlation Initializers window, the Content Definition window, and the CorrelatesOn Defintion window in the messaging activities (Receive, Send, SendReply, and ReceiveReply).
  • Übertragungen von Zustandsautomaten und ÜbertragungszieleState machine transitions and transitions destinations.
  • Anmerkungen und Connectors von FlowDecision-AktivitätenAnnotations and connectors on FlowDecision activities.
  • Die per Rechtsklick aufrufbaren Kontextmenüs von AktivitätenThe context (right-click) menus for activities.
  • Die Editors für Eigenschaftswerte, die Schaltfläche, „Suche löschen“, die Sortierschaltflächen „Nach Kategorie“ und „Alphabetisch“ sowie das Dialogfeld „Ausdrucks-Editor“ im EigenschaftenrasterThe property value editors, the Clear Search button, the By Category and Alphabetical sort buttons, and the Expression Editor dialog in the properties grid.
  • Den Zoomprozentwert im Workflow-DesignerThe zoom percentage in the Workflow Designer.
  • Das Trennzeichen in den Aktivitäten Parallel und PickThe separator in Parallel and Pick activities.
  • Die InvokeDelegate-AktivitätThe InvokeDelegate activity.
  • Das Fenster „Typen auswählen“ für Wörterbuchaktivitäten (Microsoft.Activities.AddToDictionary<TKey,TValue>, Microsoft.Activities.RemoveFromDictionary<TKey,TValue> usw.)The Select Types window for dictionary activities (Microsoft.Activities.AddToDictionary<TKey,TValue>, Microsoft.Activities.RemoveFromDictionary<TKey,TValue>, etc.).
  • Das Fenster „.NET-Typ suchen und auswählen“The Browse and Select .NET Type window.
  • Breadcrumbs im Workflow-DesignerBreadcrumbs in the Workflow Designer.
  • Benutzer, die Designs mit hohem Kontrast verwenden, werden viele Verbesserungen in der Sichtbarkeit des Workflow-Designers und dessen Steuerelementen feststellen. Dazu zählen verbesserte Kontrastverhältnisse zwischen Elementen und besser erkennbare Auswahlfelder für Fokuselemente.Users who choose High Contrast themes will see many improvements in the visibility of the Workflow Designer and its controls like better contrast ratios between elements and more noticeable selection boxes used for focus elements.
VorschlagSuggestion Wenn Sie eine Anwendung mit einem neu gehosteten Workflow-Designer besitzen, kann Ihre Anwendung von diesen Änderungen profitieren, indem Sie eine der folgenden Aktionen durchführen:If you have an application with a re-hosted workflow designer, your application can benefit from these changes by performing either of these actions:
  • Rekompilieren Sie Ihre Anwendung, um .NET Framework 4.7.1 anzuzielen.Recompile your application to target the .NET Framework 4.7.1. Die Verbesserungen der Barrierefreiheit werden standardmäßig aktiviert.These accessibility changes are enabled by default.
  • Wenn Ihre Anwendung .NET Framework 4.7 oder früher anzielt, aber auf .NET Framework 4.7.1 ausgeführt wird, können Sie die veralteten Verhaltensweisen für die Barrierefreiheit deaktivieren, indem Sie folgendes AppContext-Element zum <runtime>-Abschnitt der app.config-Datei hinzufügen und dieses wie im folgenden Beispiel dargestellt auf false festlegen.If your application targets the .NET Framework 4.7 or earlier but is running on the .NET Framework 4.7.1, you can opt out of these legacy accessibility behaviors by adding the following AppContext switch to the <runtime> section of the app.config file and set it to false, as the following example shows.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7"/>
</startup>
<runtime>
<!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true/false;key2=true/false  -->
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false" />
</runtime>
</configuration>
Bei Anwendungen, die .NET Framework 4.7.1 oder höher als Zielplattform verwenden und die Legacy-Barrierefreiheitsverhalten beibehalten sollen, können Sie die Verwendung des veralteten Features für die Barrierefreiheit aktivieren, indem Sie die AppContext-Option auf true festlegen.Applications that target the .NET Framework 4.7.1 or later and want to preserve the legacy accessibility behavior can opt in to the use of legacy accessibility features by explicitly setting this AppContext switch to true.
BereichScope GeringMinor
VersionVersion 4.7.14.7.1
TypType NeuzuweisungRetargeting