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

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.1 zu 4.7.2 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.1 to 4.7.2, review the following topics for application compatibility issues that may affect your app:

KernspeicherCore

Zulassen bidirektionaler Unicode-Steuerzeichen in URIsAllow Unicode Bidirectional Control Characters in URIs

DetailsDetails Unicode gibt mehrere spezielle Steuerzeichen an, um die Ausrichtung von Text anzugeben.Unicode specifies several special control characters used to specify the orientation of text. In früheren Versionen von .NET Framework wurden diese Zeichen selbst dann fälschlicherweise aus allen URIs entfernt, wenn sie in ihrer prozentcodierten Form vorlagen.In previous versions of the .NET Framework, these characters were incorrectly stripped from all URIs even if they were present in their percent-encoded form. Damit RFC 3987 besser berücksichtigt wird, sind diese Zeichen in URIs nun zulässig.In order to better follow RFC 3987, we now allow these characters in URIs. Wenn sie uncodiert in einem URI gefunden werden, werden sie prozentcodiert.When found unencoded in a URI, they are percent-encoded. Wenn sie prozentcodiert gefunden werden, bleiben sie unverändert.When found percent-encoded they are left as-is.
VorschlagSuggestion Für Anwendungen mit Zielversionen von .NET Framework ab .NET Framework 4.7.2 ist Unterstützung für bidirektionale Uniccode-Zeichen standardmäßig aktiviert.For applications that target versions of .NET Framework starting with 4.7.2, support for Unicode bidirectional characters is enabled by default. Wenn diese Änderung nicht erwünscht ist, können Sie sie deaktivieren, indem Sie den Schalter AppContextSwitchOverrides dem Abschnitt <runtime> Ihrer Anwendungskonfigurationsdatei hinzufügen:If this change is undesirable, you can disable it by adding the following AppContextSwitchOverrides switch to the <runtime> section of the application configuration file:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Uri.DontKeepUnicodeBidiFormattingCharacters=true" />
</runtime>
Für Anwendungen mit früheren Zielversionen von .NET Framework, die aber mit Versionen ab .NET Framework 4.7.2 ausgeführt werden, ist Unterstützung für bidirektionale Uniccode-Zeichen standardmäßig deaktiviert.For applications that target earlier versions of the .NET Framework but are running under versions starting with .NET Framework 4.7.2, support for Unicode bidirectional characters is disabled by default. Sie können sie aktivieren, indem Sie den Schalter AppContextSwitchOverrides dem Abschnitt <runtime> Ihrer Anwendungskonfigurationsdatei hinzufügen:You can enable it by adding the following AppContextSwitchOverrides switch to the <runtime> section of the application configuration file::
<runtime>
<AppContextSwitchOverrides value="Switch.System.Uri.DontKeepUnicodeBidiFormattingCharacters=false" />
</runtime>
BereichScope GeringMinor
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

DeflateStream verwendet native APIs für die DekomprimierungDeflateStream uses native APIs for decompression

DetailsDetails Ab .NET Framework 4.7.2 hat sich die Implementierung der Dekomprimierung in der T:System.IO.Compression.DeflateStream-Klasse so geändert, dass standardmäßig native Windows-APIs verwendet werden.Starting with the .NET Framework 4.7.2, the implementation of decompression in the T:System.IO.Compression.DeflateStream class has changed to use native Windows APIs by default. In der Regel führt dies zu einer beträchtlichen Leistungssteigerung.Typically, this results in a substantial performance improvement. Alle .NET-Anwendungen für .NET Framework Version 4.7.2 oder höher verwenden die native Implementierung. Diese Änderung kann zu einigen Unterschieden im Verhalten führen, beispielsweise:All .NET applications targeting the .NET Framework version 4.7.2 or higher use the native implementation.This change might result in some differences in behavior, which include:
  • Die Ausnahmemeldungen können sich unterscheiden.Exception messages may be different. Der Typ der ausgelösten Ausnahme bleibt jedoch gleich.However, the type of exception thrown remains the same.
  • Einige besondere Situationen (z.B. nicht ausreichender Speicher zum Abschließen eines Vorgangs) werden möglicherweise anders behandelt.Some special situations, such as not having enough memory to complete an operation, may be handled differently.
  • Es gibt bekannte Unterschiede für die Analyse von GZip-Headern (Hinweis: nur GZipStream für die Dekomprimierung ist davon betroffen):There are known differences for parsing gzip header (note: only GZipStream set for decompression is affected):
  • Ausnahmen beim Analysieren ungültiger Header werden möglicherweise zu anderen Zeiten ausgelöst.Exceptions when parsing invalid headers may be thrown at different times.
  • Die native Implementierung führt dazu, dass Werte für einige reservierte Flags im GZip-Header (d.h. FLG) gemäß der Spezifikation festgelegt werden. Dies kann dazu führen, dass in Fällen möglicherweise eine Ausnahme ausgelöst wird, in denen zuvor ungültige Werte ignoriert wurden.The native implementation enforces that values for some reserved flags inside the gzip header (i.e. FLG) are set according to the specification, which may cause it to throw an exception where previously invalid values were ignored.
VorschlagSuggestion Wenn sich die Dekomprimierung mit nativen APIs negativ auf das Verhalten Ihrer App ausgewirkt hat, können Sie diese Funktion durch Hinzufügen des Switch.System.IO.Compression.DoNotUseNativeZipLibraryForDecompression-Schalters zum Abschnitt runtime der Datei „app.config“ und Festlegen des Werts auf true deaktivieren:If decompression with native APIs has adversely affected the behavior of your app, you can opt out of this feature by adding the Switch.System.IO.Compression.DoNotUseNativeZipLibraryForDecompression switch to the runtime section of your app.config file and setting it to true:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<AppContextSwitchOverrides
value="Switch.System.IO.Compression.DoNotUseNativeZipLibraryForDecompression=true" />
</runtime>
</configuration>
BereichScope GeringMinor
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

Sicherstellen, dass System.Uri einen konsistenten reservierten Zeichensatz verwendetEnsure System.Uri uses a consistent reserved character set

DetailsDetails In System.Uri sind bestimmte prozentcodierte Zeichen, die manchmal decodiert wurden, jetzt konsistent linkscodiert.In System.Uri, certain percent-encoded characters that were sometimes decoded are now consistently left encoded. Dies tritt für die Eigenschaften und Methoden auf, die auf die Pfad-, Abfrage-, Fragment- oder Benutzerinformationenkomponenten des URIs zugreifen.This occurs across the properties and methods that access the path, query, fragment, or userinfo components of the URI. Das Verhalten ändert sich nur, wenn die beiden folgenden Bedingungen erfüllt sind:The behavior will change only when both of the following are true:
  • Der URI enthält die codierte Form eines der folgenden reservierten Zeichen: :, ', (, ), ! oder *.The URI contains the encoded form of any of the following reserved characters: :, ', (, ), ! or *.
  • Der URI enthält ein Unicode- oder nicht codiertes reserviertes Zeichen.The URI contains a Unicode or encoded non-reserved character. Wenn beide oben genannten Kriterien erfüllt sind, werden die codierten reservierten Zeichen linkscodiert.If both of the above are true, the encoded reserved characters are left encoded. In früheren Versionen von .NET Framework wurden sie decodiert.In previous versions of the .NET Framework, they are decoded.
VorschlagSuggestion Für Anwendungen mit Zielversionen von .NET Framework ab .NET Framework 4.7.2 ist dieses neue Decodierungsverhalten standardmäßig aktiviert.For applications that target versions of .NET Framework starting with 4.7.2, the new decoding behavior is enabled by default. Wenn diese Änderung nicht erwünscht ist, können Sie sie deaktivieren, indem Sie den Schalter AppContextSwitchOverrides dem Abschnitt <runtime> Ihrer Anwendungskonfigurationsdatei hinzufügen:If this change is undesirable, you can disable it by adding the following AppContextSwitchOverrides switch to the <runtime> section of the application configuration file:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Uri.DontEnableStrictRFC3986ReservedCharacterSets=true" />
</runtime>
Für Anwendungen mit früheren Zielversionen von .NET Framework, die aber mit Versionen ab .NET Framework 4.7.2 ausgeführt werden, ist das neue Decodierungsverhalten standardmäßig deaktiviert.For applications that target earlier versions of the .NET Framework but are running under versions starting with .NET Framework 4.7.2, the new decoding behavior is disabled by default. Sie können sie aktivieren, indem Sie den Schalter AppContextSwitchOverrides dem Abschnitt <runtime> Ihrer Anwendungskonfigurationsdatei hinzufügen:You can enable it by adding the following AppContextSwitchOverrides switch to the <runtime> section of the application configuration file::
<runtime>
<AppContextSwitchOverrides value="Switch.System.Uri.DontEnableStrictRFC3986ReservedCharacterSets=false" />
</runtime>
BereichScope GeringMinor
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

Stapelüberwachungen, die bei der Verwendung portabler PDBs abgerufen werden, enthalten nun Quelldatei- und Zeileninformationen, wenn diese angefordert werdenStack traces obtained when using portable PDBs now include source file and line information if requested

DetailsDetails Ab .NET Framework 4.7.2 enthalten Stapelüberwachungen, die bei der Verwendung portabler PDBs abgerufen werden, nun Quelldatei- und Zeileninformationen, wenn diese angefordert werden.Starting with .NET Framework 4.7.2, stack traces obtained when using portable PDBs include source file and line information when requested. In Versionen vor .NET Framework 4.7.2 waren Quelldatei- und Zeileninformationen bei Verwendung portabler PDBs selbst dann nicht verfügbar, wenn diese explizit angefordert wurden.In versions prior to .NET Framework 4.7.2, source file and line information would be unavailable when using portable PDBs even if explicitly requested.
VorschlagSuggestion Für Anwendungen mit der Zielplattform .NET Framework 4.7.2 können Sie sich gegen Quelldatei- und Zeileninformationen entscheiden, wenn Sie portable PDBs verwenden, wenn diese nicht erwünscht sind, indem Sie Folgendes dem Abschnitt <runtime> Ihrer Datei „app.config“ hinzufügen:For applications that target the .NET Framework 4.7.2, you can opt out of the source file and line information when using portable PDBs if it is not desirable by adding the following to the <runtime> section of your app.config file:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Diagnostics.IgnorePortablePDBsInStackTraces=true" />
</runtime>
Bei Anwendungen, die für frühere Versionen von .NET Framework vorgesehen sind, aber in .NET Framework 4.7.2 oder höher ausgeführt werden, können Sie Quelldatei- und Zeileninformationen bei der Verwendung portabler PDBs aktivieren, indem Sie Folgendes dem Abschnitt <runtime> der Datei „app.config“ hinzufügen:For applications that target earlier versions of the .NET Framework but run on the .NET Framework 4.7.2 or later, you can opt in to the source file and line information when using portable PDBs by adding the following to the <runtime> section of your app.config file:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Diagnostics.IgnorePortablePDBsInStackTraces=false" />
</runtime>
BereichScope Microsoft EdgeEdge
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

Windows FormsWindows Forms

Verbesserung der Barrierefreiheit von Windows Forms-Steuerelementen für .NET 4.7.2Accessibility improvements in Windows Forms controls for .NET 4.7.2

DetailsDetails Die Arbeitsweise des Windows Forms-Frameworks mit Technologien für die Barrierefreiheit wird verbessert, um Kunden von Windows Forms besser zu unterstützen.Windows Forms Framework is improving how it works with accessibility technologies to better support Windows Forms customers. Folgende Änderungen wurden u.a. vorgenommen:These include the following changes:
  • Änderungen zum Verbessern der Anzeige während des Modus mit hohem KontrastChanges to improve display during High Contrast mode.
  • Änderungen zum Verbessern der Tastaturnavigation in den DataGridView- und MenuStrip-Steuerelementen.Changes to improve the keyboard navigation in the DataGridView and MenuStrip controls.
  • Änderungen an der Interaktion mit der Sprachausgabe.Changes to interaction with Narrator.
VorschlagSuggestion Aktivieren oder Deaktivieren dieser Änderungen: Damit die Anwendung von diesen Änderungen profitieren kann, muss sie unter .NET Framework 4.7.2 oder höher ausgeführt werden.How to opt in or out of these changesIn order for the application to benefit from these changes, it must run on the .NET Framework 4.7.2 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.2 als Ziel zu verwenden.It is recompiled to target the .NET Framework 4.7.2. Diese Änderungen der Barrierefreiheit werden standardmäßig für Windows Forms-Anwendungen aktiviert, die .NET Framework 4.7.2 oder höher als Ziel verwenden.These accessibility changes are enabled by default on Windows Forms applications that target the .NET Framework 4.7.2 or later.
  • Die Anwendung verwendet .NET Framework 4.7.1 oder eine frühere Version als Ziel und deaktiviert veraltete Verhaltensweisen der Barrierefreiheit, indem wie im folgenden Beispiel dargestellt folgender AppContext-Schalter zum Abschnitt <runtime> der Datei „app.config“ hinzugefügt und auf false festgelegt wird.It targets the .NET Framework 4.7.1 or earlier version and 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;Switch.UseLegacyAccessibilityFeatures.2=false" />
</runtime>
</configuration>
Beachten Sie Folgendes: Um die Barrierefreiheitsfunktionen zu aktivieren, die in .NET Framework 4.7.2 hinzugefügt wurden, müssen Sie auch die Barrierefreiheitsfunktion von .NET Framework 4.7.1 aktivieren.Note that to opt in to the accessibility features added in .NET Framework 4.7.2, you must also opt in to accessibility features of .NET Framework 4.7.1 as well. Bei Anwendungen, die .NET Framework 4.7.2 oder höher als Zielplattform verwenden und das veraltete Barrierefreiheitsverhalten beibehalten sollen, können Sie die Verwendung des veralteten Features für die Barrierefreiheit aktivieren, indem Sie den AppContext-Schalter auf true festlegen. Verwenden von vom Betriebssystem definierten Farben in Designs mit hohem KontrastApplications that target the .NET Framework 4.7.2 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.Use of OS-defined colors in High Contrast themesHINWEIS: 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 Unterstützung für die SprachausgabeImproved Narrator support
  • Die Sprachausgabe kündigt jetzt den Wert der ToolStripMenuItem.ShortcutKeys-Eigenschaft an, wenn Sie den Text eines ToolStripMenuItem ankündigt.Narrator now announces the value of the ToolStripMenuItem.ShortcutKeys property when announcing the text of a ToolStripMenuItem.
  • Die Sprachausgabe gibt jetzt an, wenn die Enabled-Eigenschaftensatz eines ToolStripMenuItem auf false festgelegt ist.Narrator now indicates when a ToolStripMenuItem has its Enabled property set to false.
  • Die Sprachausgabe stellt jetzt Feedback zum Zustand eines Kontrollkästchens bereit, wenn die ListView.CheckBoxes-Eigenschaft auf true festgelegt ist.Narrator now gives feedback on the state of a check box when the ListView.CheckBoxes property is set to true.
  • Die Fokusreihenfolge des Scanmodus der Sprachausgabe ist jetzt mit der visuellen Reihenfolge der Steuerelemente für das ClickOnce-Downloaddialogfenster konsistent.Narrator Scan Mode focus order is now consistent with the visual order of the controls on the ClickOnce download dialog window.
Verbesserte Unterstützung der DataGridView-BarrierefreiheitImproved DataGridView Accessibility supportVerbesserte visuelle HinweiseImproved Visual cues
  • Die RadioButton- und CheckBox-Steuerelemente mit einer leeren Text-Eigenschaft zeigen nun einen Fokusindikator an, wenn sie den Fokus erhalten.The RadioButton and CheckBox controls with an empty Text property will now display a focus indicator when they receive focus.
Verbesserte Unterstützung für das EigenschaftenrasterImproved Property Grid Support
  • Die untergeordneten Elemente des PropertyGrid-Steuerelements geben jetzt nur dann true für die IsReadOnlyProperty-Eigenschaft zurück, wenn ein PropertyGrid-Element aktiviert ist.The PropertyGrid control child elements now return a true for the IsReadOnlyProperty property only when a PropertyGrid element is enabled.
  • Die untergeordneten Elemente des PropertyGrid-Steuerelements geben jetzt nur dann false für die IsEnabledProperty-Eigenschaft zurück, wenn ein PropertyGrid-Element vom Benutzer geändert werden kann.The PropertyGrid control child elements now return a false for the IsEnabledProperty property only when a PropertyGrid element can be changed by the user.
Einen Überblick über die Benutzeroberflächenautomatisierung finden Sie unter Benutzeroberflächenautomatisierung: Übersicht. Verbesserte TastaturnavigationFor an overview of UI automation, see the UI Automation Overview.Improved keyboard navigation
BereichScope HauptversionMajor
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting

„ContextMenuStrip.SourceControl“-Eigenschaft enthält im Fall geschachtelter „ToolStripMenuItems“ ein gültiges SteuerelementContextMenuStrip.SourceControl property contains a valid control in the case of nested ToolStripMenuItems

DetailsDetails In .NET Framework 4.7.1 und früheren Versionen gibt die ContextMenuStrip.SourceControl-Eigenschaft fälschlicherweise NULL zurück, wenn der Benutzer das Menü in geschachtelten ToolStripMenuItem-Steuerelementen öffnet.In the .NET Framework 4.7.1 and previous versions, the ContextMenuStrip.SourceControl property incorrectly returns null when the user opens the menu from nested ToolStripMenuItem controls. In .NET Framework 4.7.2 und höher ist die SourceControl-Eigenschaft immer auf das tatsächliche Quellsteuerelement festgelegt.In the .NET Framework 4.7.2 and later, SourceControl property is always set to the actual source control.
VorschlagSuggestion Aktivieren oder Deaktivieren dieser Änderungen: Damit eine Anwendung von diesen Änderungen profitieren kann, muss sie unter .NET Framework 4.7.2 oder höher ausgeführt werden.How to opt in or out of these changesIn order for an application to benefit from these changes, it must run on the .NET Framework 4.7.2 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:
  • Die Anwendung ist auf .NET Framework 4.7.2 ausgelegt.It targets the .NET Framework 4.7.2. Diese Änderung wird standardmäßig für Windows Forms-Anwendungen aktiviert, die auf .NET Framework 4.7.2 oder höher ausgelegt sind.This change is enabled by default on Windows Forms applications that target the .NET Framework 4.7.2 or later.
  • Die Anwendung ist auf .NET Framework 4.7.1 oder eine frühere Version ausgelegt und deaktiviert veraltete Verhaltensweisen der Barrierefreiheit, indem wie im folgenden Beispiel dargestellt folgender AppContext-Schalter zum Abschnitt <runtime> der Datei „app.config“ hinzugefügt und auf false festgelegt wird.It targets the .NET Framework 4.7.1 or an earlier version and 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.
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Forms.UseLegacyContextMenuStripSourceControlValue=false"/>
</runtime>
Bei Anwendungen, die auf .NET Framework 4.7.2 oder höher ausgelegt sind und das veraltete Barrierefreiheitsverhalten beibehalten sollen, können Sie die Verwendung des veralteten Quellcodeverwaltungswerts aktivieren, indem Sie den „AppContext“-Schalter auf true festlegen.Applications that target the .NET Framework 4.7.2 or later, and want to preserve the legacy behavior can opt in to the use of the legacy source control value by explicitly setting this AppContext switch to true.
BereichScope Microsoft EdgeEdge
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

PrivateFontCollection.AddFontFile-Methode gibt Schriftartenressourcen freiPrivateFontCollection.AddFontFile method releases Font resources

DetailsDetails In .NET Framework 4.7.1 und früheren Versionen gibt die System.Drawing.Text.PrivateFontCollection-Klasse keine GDI+-Schriftartenressourcen frei, nachdem PrivateFontCollection für Font-Objekte verworfen wird, die dieser Sammlung mit der AddFontFile(String)-Methode hinzugefügt werden.In the .NET Framework 4.7.1 and previous versions, the System.Drawing.Text.PrivateFontCollection class does not release the GDI+ font resources after the PrivateFontCollection is disposed for Font objects that are added to this collection using the AddFontFile(String) method. In .NET Framework 4.7.2 oder höher gibt Dispose die GDI+-Schriftarten frei, die der Sammlung als Dateien hinzugefügt wurden.In the .NET Framework 4.7.2 and later Dispose releases the GDI+ fonts that were added to the collection as files.
VorschlagSuggestion Aktivieren oder Deaktivieren dieser Änderungen: Damit eine Anwendung von diesen Änderungen profitieren kann, muss sie unter .NET Framework 4.7.2 oder höher ausgeführt werden.How to opt in or out of these changesIn order for an application to benefit from these changes, it must run on the .NET Framework 4.7.2 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.2 als Ziel zu verwenden.It is recompiled to target the .NET Framework 4.7.2. Diese Änderung wird standardmäßig für Windows Forms-Anwendungen aktiviert, die für .NET Framework 4.7.2 oder höher ausgelegt sind.This change is enabled by default on Windows Forms applications that target the .NET Framework 4.7.2 or later.
  • Die Anwendung ist für .NET Framework 4.7.1 oder eine frühere Version ausgelegt und deaktiviert veraltete Verhaltensweisen der Barrierefreiheit, indem wie im folgenden Beispiel dargestellt folgender AppContext-Schalter zum Abschnitt <runtime> der Datei „app.config“ hinzugefügt und auf false festgelegt wird.It targets the .NET Framework 4.7.1 or an earlier version and 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.
<runtime>
<AppContextSwitchOverrides value="Switch.System.Drawing.Text.DoNotRemoveGdiFontsResourcesFromFontCollection=false"/>
</runtime>
Bei Anwendungen, die für .NET Framework 4.7.2 oder höher ausgelegt sind und das Legacyverhalten beibehalten sollen, können Sie die Nichtfreigabe von Schriftartenressourcen aktivieren, indem dieser AppContext-Schalter ausdrücklich auf true festgelegt wird.Applications that target the .NET Framework 4.7.2 or later, and want to preserve the legacy behavior can opt in to not release font resources by explicitly setting this AppContext switch to true.
BereichScope Microsoft EdgeEdge
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

Die UpButton- und DownButton-Aktionen der Domäne von WinForm sind jetzt synchronisiertWinForm's Domain upbutton and downbutton actions are in sync now

DetailsDetails In .NET Framework 4.7.1 und früheren Versionen wird die DomainUpDown.UpButton()-Aktion des DomainUpDown-Steuerelements ignoriert, wenn Steuerelementtext vorhanden ist, und der Entwickler muss die DomainUpDown.DownButton()-Aktion für das Steuerelement vor der DomainUpDown.UpButton()-Aktion verwenden.In the .NET Framework 4.7.1 and previous versions the DomainUpDown control's DomainUpDown.UpButton() action is ignored when control text is present, and the developer is required to use DomainUpDown.DownButton() action on the control before using DomainUpDown.UpButton() action. Ab .NET Framework 4.7.2 funktionieren die DomainUpDown.UpButton()- und DomainUpDown.DownButton()-Aktionen unabhängig voneinander in diesem Szenario und bleiben synchron.Starting with the .NET Framework 4.7.2 both the DomainUpDown.UpButton() and DomainUpDown.DownButton() actions work independently in this scenario and remain in sync.
VorschlagSuggestion Damit eine Anwendung von diesen Änderungen profitieren kann, muss sie unter .NET Framework 4.7.2 oder höher ausgeführt werden.In order for an application to benefit from these changes, it must run on the .NET Framework 4.7.2 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.2 als Ziel zu verwenden.It is recompiled to target the .NET Framework 4.7.2. Diese Änderung wird standardmäßig für Windows Forms-Anwendungen aktiviert, die für .NET Framework 4.7.2 oder höher ausgelegt sind.This change is enabled by default on Windows Forms applications that target the .NET Framework 4.7.2 or later.
  • Veraltetes Scrollingverhalten wird deaktiviert, indem wie im folgenden Beispiel dargestellt folgender AppContext-Schalter dem Abschnitt <runtime> der Datei „app.config“ hinzugefügt und auf false festgelegt wird.It opts out of the legacy scrolling behavior 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.
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Forms.DomainUpDown.UseLegacyScrolling=false"/>
</runtime>
BereichScope Microsoft EdgeEdge
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting
Betroffene APIsAffected APIs

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

Der Tastaturfokus bewegt sich jetzt ordnungsgemäß über mehrere Ebenen von WinForms-/WPF-HostingKeyboard focus now moves correctly across multiple layers of WinForms/WPF hosting

DetailsDetails Nehmen Sie als Beispiel eine WPF-Anwendung, die ein WinForms-Steuerelement hostet, das wiederum WPF-Steuerelemente hostet.Consider a WPF application hosting a WinForms control which in turn hosts WPF controls. Benutzer können die WinForms-Ebene möglicherweise nicht mit der TABULATORTASTE verlassen, wenn das erste oder letzte Steuerelement in diese Ebene System.Windows.Forms.Integration.ElementHost von WPF ist.Users may not be able to tab out of the WinForms layer if the first or last control in that layer is the WPF System.Windows.Forms.Integration.ElementHost. Diese Änderung behebt dieses Problem, und Benutzer können die WinForms-Ebene jetzt mit der TABULATORTASTE verlassen. Automatisierte Anwendungen, die erfordern, dass der Fokus die WinForms-Ebene nie verlässt, funktionieren möglicherweise nicht mehr wie erwartet.This change fixes this issue, and users are now able to tab out of the WinForms layer.Automated applications that rely on focus never escaping the WinForms layer may no longer work as expected.
VorschlagSuggestion Ein Entwickler, der diese Änderung für eine niedrigere Frameworkversion als .NET 4.7.2 nutzen möchte, kann die folgende Gruppe von AppContext-Flags auf FALSE festlegen, damit die Änderung aktiviert wird.A developer who wants to utilize this change while targeting a framework version below .NET 4.7.2 can set the following set of AppContext flags to false for the change to be enabled.
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false;Switch.UseLegacyAccessibilityFeatures.2=false"/>
</runtime>
</configuration>
WPF-Anwendungen müssen alle frühen Barrierefreiheitsverbesserungen aktivieren, um die späteren Verbesserungen abrufen zu können.WPF applications must opt in to all early accessibility improvements to get the later improvements. Das heißt, die Switch.UseLegacyAccessibilityFeatures- und Switch.UseLegacyAccessibilityFeatures.2-Schalter müssen festgelegt werden. Ein-Entwickler, der die vorherige Funktionalität für .NET 4.7.2 oder höher benötigt, kann das folgende AppContext-Flag auf TRUE festlegen, damit die Änderung deaktiviert wird.In other words, both the Switch.UseLegacyAccessibilityFeatures and the Switch.UseLegacyAccessibilityFeatures.2 switches must be setA developer who requires the previous functionality while targeting .NET 4.7.2 or greater can set the following AppContext flag to true for the change to be disabled.
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures.2=true"/>
</runtime>
</configuration>
BereichScope Microsoft EdgeEdge
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting

Der Standardhashalgorithmus für den Markupcompiler von WPF ist jetzt SHA256The default hash algorithm for WPF's Markup Compiler is now SHA256

DetailsDetails Die WPF-MarkupCompiler stellt Kompilierungsdienste für XAML-Markupdateien bereit.The WPF MarkupCompiler provides compilation services for XAML markup files. In .NET Framework 4.7.1 und früheren Versionen war SHA1 der Standardhashalgorithmus, der für Prüfsummen verwendet wurde.In the .NET Framework 4.7.1 and earlier versions, the default hash algorithm used for checksums was SHA1. Diese Standardeinstellung wurde ab .NET Framework 4.7.2 aufgrund von Sicherheitsbedenken im Zusammenhang mit SHA1 in SHA256 geändert.Due to recent security concerns with SHA1, this default has been changed to SHA256 starting with the .NET Framework 4.7.2. Diese Änderung wirkt sich auf die gesamte Prüfsummengenerierung für Markupdateien während der Kompilierung aus.This change affects all checksum generation for markup files during compilation.
VorschlagSuggestion Ein Entwickler, der als Zielplattform .NET Framework 4.7.2 oder höher verwendet und das SHA1-Hashverhalten wiederherstellen möchte, muss das folgende AppContext-Flag festlegen.A developer who targets .NET Framework 4.7.2 or greater and wants to revert to SHA1 hashing behavior must set the following AppContext flag.
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Markup.DoNotUseSha256ForMarkupCompilerChecksumAlgorithm=true"/>
</runtime>
</configuration>
Ein Entwickler, der SHA256-Hashwerte für eine niedrigere Frameworkversion als .NET 4.7.2 nutzen möchte, muss das unten genannte AppContext-Flag festlegen.A developer who wants to utilize SHA256 hashing while targeting a framework version below .NET 4.7.2 must set the below AppContext flag. Beachten Sie, dass die installierte Version von .NET Framework 4.7.2 oder höher sein muss.Note that the installed version of the .NET Framework must be 4.7.2 or greater.
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Markup.DoNotUseSha256ForMarkupCompilerChecksumAlgorithm=false
</runtime>
</configuration>
BereichScope TransparentTransparent
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting

Ändern eines Primärschlüssels durch WPF beim Anzeigen von ADO-Daten in einem Master/Detail-SzenarioWPF Changing a primary key when displaying ADO data in a Master/Detail scenario

DetailsDetails Nehmen Sie an, Sie haben eine ADO-Sammlung von Elementen des Typs Order mit einer Beziehung namens "OrderDetails", durch die diese Sammlung über den Primärschlüssel "OrderID" mit einer Sammlung von Elementen des Typs Detail verknüpft wird.Suppose you have an ADO collection of items of type Order, with a relation named "OrderDetails" relating it to a collection of items of type Detail via the primary key "OrderID". In Ihrer WPF-App können Sie ein Listensteuerelement an die Details für einen bestimmten Auftrag binden:In your WPF app, you can bind a list control to the details for a given order:
<ListBox ItemsSource="{Binding Path=OrderDetails}" >
Beim DataContext handelt es sich um ein Order-Element.where the DataContext is an Order. WPF ruft den Wert der OrderDetails-Eigenschaft ab – eine Sammlung D aller Detail-Elemente, deren OrderID der OrderID des Masterelements entspricht. Die Verhaltensänderung tritt auf, wenn Sie den Primärschlüssel OrderID des Masterelements ändern.WPF gets the value of the OrderDetails property - a collection D of all the Detail items whose OrderID matches the OrderID of the master item.The behavior change arises when you change the primary key OrderID of the master item. ADO ändert automatisch die OrderID jedes der betroffenen Datensätze in der Sammlung „Details“ (also diejenigen, die in Sammlung D kopiert wurden).ADO automatically changes the OrderID of each of the affected records in the Details collection (namely the ones copied into collection D). Was passiert mit D?But what happens to D?
  • Altes Verhalten: Sammlung D wird gelöscht.Old behavior: Collection D is cleared. Das Masterelement löst keine Änderungsbenachrichtigung für die Eigenschaft OrderDetails aus.The master item does not raise a change notification for property OrderDetails. Das ListBox-Element verwendet weiterhin Sammlung D, die jetzt leer ist.The ListBox continues to use collection D, which is now empty.
  • Neues Verhalten: Sammlung D wird nicht geändert.New behavior: Collection D is unchanged. Jedes enthaltene Element löst Änderungsbenachrichtigung für die Eigenschaft OrderID aus.Each of its items raises a change notification for the OrderID property. ListBox verwendet weiterhin Sammlung D, und zeigt die Details mit der neuen OrderID an.The ListBox continues to use collection D, and displays the details with the new OrderID.
WPF implementiert das neue Verhalten, indem Sammlung D auf andere Weise erstellt wird: durch Aufruf der ADO-Methode DataRowView.CreateChildView(DataRelation, Boolean) mit dem auf true festgelegten followParent-Argument.WPF implements the new behavior by creating collection D in a different way: by calling the ADO method DataRowView.CreateChildView(DataRelation, Boolean) with the followParent argument set to true.
VorschlagSuggestion Eine App ruft das neue Verhalten durch Verwendung der folgenden AppContext-Option auf.An app gets the new behavior by using the following AppContext switch.
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Data.DoNotUseFollowParentWhenBindingToADODataRelation=false"/>
</runtime>
</configuration>

Die Option ist für Apps, die auf .NET 4.7.1 oder niedriger ausgelegt sind, standardmäßig auf true festgelegt (altes Verhalten). Für Apps, die auf .NET 4.7.2 oder höher ausgelegt sind, ist sie standardmäßig auf false festgelegt.The switch defaults to true (old behavior) for apps that target .NET 4.7.1 or below, and to false (new behavior) for apps that target .NET 4.7.2 or above.
BereichScope GeringMinor
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting

WPF FocusVisual für RadioButton und CheckBox wird jetzt ordnungsgemäß angezeigt, wenn die Steuerelemente keinen Inhalt enthaltenWPF FocusVisual for RadioButton and CheckBox Now Displays Correctly When The Controls Have No Content

DetailsDetails In .NET Framework 4.7.1 und früheren Versionen weisen CheckBox und RadioButton von WPF inkonsistente und im klassischen Design und im Design mit hohem Kontrast falsche visuelle Fokuselemente auf.In the .NET Framework 4.7.1 and earlier versions, WPF CheckBox and RadioButton have inconsistent and, in Classic and High Contrast themes, incorrect focus visuals. Diese Probleme treten in Fällen auf, in denen für die Steuerelemente keine Inhalte festgelegt sind.These issues occur in cases where the controls do not have any content set. Dadurch kann der Übergang zwischen Designs verwirrend wirken und das visuelle Fokuselement schwer zu erkennen sein.This can make the transition between themes confusing and the focus visual hard to see. In .NET Framework, 4.7.2 sind diese visuellen Elemente jetzt designübergreifend konsistenter und im klassischen Design sowie im Design mit hohem Kontrast leichter zu erkennen.In the .NET Framework 4.7.2, these visuals are now more consistent across themes and more easily visible in Classic and High Contrast themes.
VorschlagSuggestion Ein Entwickler, die Code für .NET Framework 4.7.2 erstellt und das Verhalten von .NET 4.7.1 wiederherstellen möchte, muss das folgende AppContext-Flag festlegen.A developer targeting .NET Framework 4.7.2 that wants to revert to the behavior in .NET 4.7.1 will need to set the following AppContext flag.
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures.2=true;"/>
</runtime>
</configuration>
Ein Entwickler, der diese Änderung für eine niedrigere Frameworkversion als .NET 4.7.2 nutzen möchte, muss die folgenden AppContext-Flags festlegen. Beachten Sie, dass alle Flags ordnungsgemäß festgelegt werden müssen, und die installierte Version von .NET Framework muss 4.7.2 oder höher sein. WPF-Anwendungen müssen alle früheren Barrierefreiheitsverbesserungen aktivieren, um die neuesten Verbesserungen abrufen zu können.A developer who wants to utilize this change while targeting a framework version below .NET 4.7.2 must set the following AppContext flags.Note that all the flags must be set appropriately and the installed version of the .NET Framework must be 4.7.2 or greater.WPF applications are required to opt in to all earlier accessibility improvements to get the latest improvements. Stellen Sie zu diesem Zweck sicher, dass die AppContext-Schalter „Switch.UseLegacyAccessibilityFeatures“ und „Switch.UseLegacyAccessibilityFeatures.2“ auf FALSE festgelegt sind.To do this, ensure that both the AppContext switches 'Switch.UseLegacyAccessibilityFeatures' and 'Switch.UseLegacyAccessibilityFeatures.2' are set to false.
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false;Switch.UseLegacyAccessibilityFeatures.2=false;"/>
</runtime>
</configuration>
BereichScope Microsoft EdgeEdge
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting

TextBox-/PasswordBox-Textauswahl von WPF folgt nicht den SystemfarbenWPF TextBox/PasswordBox Text Selection Does Not Follow System Colors

DetailsDetails In .NET Framework 4.7.1 und früheren Versionen konnten System.Windows.Controls.TextBox und System.Windows.Controls.PasswordBox von WPF nur eine Textauswahl aus der Adorner-Ebene rendern.In .NET Framework 4.7.1 and earlier versions, WPF System.Windows.Controls.TextBox and System.Windows.Controls.PasswordBox could only render a text selection in the Adorner layer. In einigen Systemdesigns verdeckte dies Text, wodurch die Lesbarkeit erschwert wurde.In some system themes this would occlude text, making it hard to read. In .NET Framework 4.7.2 und höher besteht für Entwickler eine Option, ein nicht auf Adorner basierendes Auswahlrenderingschema zu aktivieren, das dieses Problem behebt.In .NET Framework 4.7.2 and later, developers have an option of enabling a non-Adorner-based selection rendering scheme that alleviates this issue.
VorschlagSuggestion Ein Entwickler, die diese Änderung nutzen möchte, muss das folgende AppContext-Flag entsprechend festlegen.A developer who wants to utilize this change must set the following AppContext flag appropriately. Um dieses Feature nutzen zu können, muss die installierte Version von .NET Framework 4.7.2 oder höher sein. Um die nicht auf Adorner basierende Auswahl zu aktivieren, verwenden Sie das folgenden AppContext-Flag.To utilize this feature, the installed .NET Framework version must be 4.7.2 or greater.To enabled the non-adorner-based selection, use the following AppContext flag.
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Controls.Text.UseAdornerForTextboxSelectionRendering=false"/>
</runtime>
</configuration>
BereichScope Microsoft EdgeEdge
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting

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

Vermeiden von Endlosrekursion für IWorkflowInstanceManagement.TransactedCancel und IWorkflowInstanceManagement.TransactedTerminateAvoiding endless recursion for IWorkflowInstanceManagement.TransactedCancel and IWorkflowInstanceManagement.TransactedTerminate

DetailsDetails Wenn Sie IWorkflowInstanceManagement.TransactedCancel- oder IWorkflowInstanceManagement.TransactedTerminate-APIs verwenden, um eine Worklowdienstinstanz abzubrechen oder zu beenden, kann für die Workflowinstanz unter bestimmten Umständen aufgrund von Endlosrekursion ein Stapelüberlauf auftreten, wenn die Workflow-Laufzeit versucht, die Dienstinstanz als Teil der Verarbeitung der Anforderung persistent zu speichern.Under some circumstances when using IWorkflowInstanceManagement.TransactedCancel or IWorkflowInstanceManagement.TransactedTerminate APIs to cancel or terminate a workflow service instance, the workflow instance may encounter a stack overflow due to endless recursion when the Workflow runtime attempts to persist the service instance as part of processing the request. Das Problem tritt auf, wenn sich die Workflowinstanz in einem Zustand befindet, in dem sie auf den Abschluss einer anderen ausstehenden WCF-Anforderung an einen anderen Dienst wartet. Die TransactedCancel- und TransactedTerminate-Vorgänge erstellen Arbeitselemente, die für die Workflowdienstinstanz in die Warteschlange eingereiht werden.The problem occurs if the workflow instance is in a state where it is waiting for some other outstanding WCF request to another service to complete.The TransactedCancel and TransactedTerminate operations create work items that are queued for the workflow service instance. Diese Arbeitselemente werden nicht im Rahmen der Verarbeitung der TransactedCancel/TransactedTerminate-Anforderung ausgeführt.These work items are not executed as part of the processing of the TransactedCancel/TransactedTerminate request. Da die Workflowdienstinstanz damit ausgelastet ist, auf den Abschluss der anderen ausstehenden WCF-Anforderung zu warten, verbleibt das erstellte Arbeitselement in der Warteschlange.Because the workflow service instance is busy waiting for the other outstanding WCF request to complete, the work item created remains queued. Der TransactedCancel/TransactedTerminate-Vorgang wird abgeschlossen, und die Steuerung wird zurück an den Client übergeben.The TransactedCancel/TransactedTerminate operation completes and control is returned back to the client. Wenn die dem TransactedCancel/TransactedTerminate-Vorgang zugeordnete Transaktion den Commit versucht, muss sie den Zustand der Workflowdienstinstanz persistent speichern.When the transaction associated with the TransactedCancel/TransactedTerminate operation attempts to commit, it needs to persist the workflow service instance state. Da aber für die Instanz eine ausstehende WCF-Anforderung vorliegt, kann die Workflowruntime die Workflowdienstinstanz nicht persistent speichern, und eine Endlosrekursionsschleife führt zum Stapelüberlauf. Da TransactedCancel und TransactedTerminate nur ein Arbeitselement im Speicher erstellen, besitzt die Tatsache, dass eine Transaktion vorhanden ist, keinerlei Auswirkung.But because there is an outstanding WCF request for the instance, the Workflow runtime cannot persist the workflow service instance, and an endless recursion loop leads to the stack overflow.Because TransactedCancel and TransactedTerminate only create a work item in memory, the fact that a transaction exists doesn't have any effect. Durch ein Rollback der Transaktion wird das Arbeitselement nicht verworfen. Zur Lösung dieses Problems wurde ab .NET Framework 4.7.2 eine AppSetting eingeführt, die web.config/app.config des Workflowdiensts hinzugefügt werden kann und angibt, dass Transaktionen für TransactedCancel und TransactedTerminate ignoriert werden sollen.A rollback of the transaction does not discard the work item.To address this issue, starting in .NET Framework 4.7.2, we have introduced an AppSetting that can be added to the web.config/app.config of the workflow service that tells it to ignore transactions for TransactedCancel and TransactedTerminate. Auf diese Weise kann die Transaktion einen Commit auszuführen, ohne zu warten, bis die Workflowinstanz persistent gespeichert wurde. Die AppSetting für dieses Feature heißt microsoft:WorkflowServices:IgnoreTransactionsForTransactedCancelAndTransactedTerminate.This allows the transaction to commit without waiting for the workflow instance to persist.The AppSetting for this feature is named microsoft:WorkflowServices:IgnoreTransactionsForTransactedCancelAndTransactedTerminate. Der Wert true gibt an, dass die Transaktion ignoriert werden soll, um so den Stapelüberlauf zu vermeiden.A value of true indicates that the transaction should be ignored, thus avoiding the stack overflow. Der Standardwert dieser AppSetting ist false. Vorhandene Workflowdienstinstanzen sind daher nicht betroffen.The default value of this AppSetting is false, so existing workflow service instances are not affected.
VorschlagSuggestion Wenn Sie AppFabric oder einen anderen IWorkflowInstanceManagement-Client verwenden und beim Versuch, eine Workflowinstanz abzubrechen oder zu beenden, ein Stapelüberlauf in der Workflowdienstinstanz auftritt, können Sie Folgendes zum Abschnitt <appSettings> der Datei „web.config/app.config“ für den Workflowdienst hinzufügen:If you are using AppFabric or another IWorkflowInstanceManagement client and are encountering a stack overflow in the workflow service instance when trying to cancel or terminate a workflow instance, you can add the following to the <appSettings> section of the web.config/app.config file for the workflow service:
<add key="microsoft:WorkflowServices:IgnoreTransactionsForTransactedCancelAndTransactedTerminate" value="true"/>
Wenn dieses Problem nicht auftritt, müssen Sie diese Aktion nicht ausführen.If you are not encountering the problem, you do not need to do this.
BereichScope Microsoft EdgeEdge
VersionVersion 4.7.24.7.2
TypType NeuzuweisungRetargeting