<AppContextSwitchOverrides>-Element
Definiert mindestens eine Option, die von der AppContext-Klasse für die Bereitstellung eines Mechanismus zum Deaktivieren neuer Funktionen verwendet wird.
<configuration>
<runtime>
<AppContextSwitchOverrides>
Syntax
<AppContextSwitchOverrides value="name1=value1[[;name2=value2];...]" />
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
Attribut | BESCHREIBUNG |
---|---|
value |
Erforderlich. Definiert mindestens einen Schalternamen und die zugehörigen booleschen Werte. |
value-Attribut
Wert | BESCHREIBUNG |
---|---|
„name=value“ | Ein vordefinierter Schaltername zusammen mit seinem Wert (true oder false ). Mehrere Schaltername/-wert-Paare werden durch Semikolons („;“) getrennt. Eine Liste der vordefinierten Schalternamen, die vom .NET Framework unterstützt werden, finden Sie im Abschnitt „Anmerkungen“. |
Untergeordnete Elemente
Keine
Übergeordnete Elemente
Element | BESCHREIBUNG |
---|---|
configuration |
Das Stammelement in jeder von den Common Language Runtime- und .NET Framework-Anwendungen verwendeten Konfigurationsdatei. |
runtime |
Enthält Informationen über Laufzeitinitialisierungsoptionen. |
Bemerkungen
Ab .NET Framework 4.6 ermöglicht das <AppContextSwitchOverrides>
-Element in einer Konfigurationsdatei Aufrufenden einer API, zu bestimmen, ob ihre App neue Funktionen nutzen oder die Kompatibilität mit früheren Versionen einer Bibliothek beibehalten kann. Wenn sich beispielsweise das Verhalten einer API zwischen zwei Versionen einer Bibliothek geändert hat, ermöglicht das <AppContextSwitchOverrides>
-Element Aufrufenden dieser API, das neue Verhalten für Versionen der Bibliothek zu deaktivieren, die die neue Funktionalität unterstützen. Für Apps, die APIs im .NET Framework aufrufen, kann das <AppContextSwitchOverrides>
Element auch Aufrufenden erlauben, deren Apps auf eine frühere Version von .NET Framework abzielen, sich für neue Funktionen zu entscheiden, wenn ihre App in einer Version von .NET Framework ausgeführt wird, die diese Funktionalität enthält.
Das value
-Attribut des <AppContextSwitchOverrides>
-Elements besteht aus einer einzelnen Zeichenfolge, die aus mindestens einem bzw. mehreren durch Semikolons getrennten Name-Wert-Paaren besteht. Jeder Name identifiziert einen Kompatibilitätsschalter, und der entsprechende Wert ist ein boolescher Wert (true
oder false
), der angibt, ob der Schalter festgelegt ist. Standardmäßig ist der Schalter false
, und Bibliotheken stellen die neue Funktionalität bereit. Sie stellen die vorherige Funktionalität nur bereit, wenn der Schalter festgelegt ist (d. h. sein Wert ist true
). Dadurch können Bibliotheken neues Verhalten für eine vorhandene API bereitstellen, während Aufrufer, die auf das vorherige Verhalten angewiesen sind, die neue Funktionalität deaktivieren können.
.NET Framework unterstützt die folgenden Schalter:
Schaltername | BESCHREIBUNG | Eingeführt |
---|---|---|
Switch.MS.Internal. DoNotApplyLayoutRoundingToMarginsAndBorderThickness |
Steuert, ob Windows Presentation Foundation einen älteren Algorithmus für das Steuerelementlayout verwendet. Weitere Informationen finden Sie unter Entschärfung: WPF-Layout. | .NET Framework 4.6 |
Switch.MS.Internal. UseSha1AsDefaultHashAlgorithmForDigitalSignatures |
Steuert, ob der Standardalgorithmus, der zum Signieren von Teilen eines Pakets von PackageDigitalSignatureManager verwendet wird, SHA1 oder SHA256 ist. Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256. |
.NET Framework 4.7.1 |
Switch.System.Activities. UseMD5CryptoServiceProviderForWFDebugger |
Bei Festlegung auf false ist das Debuggen von XAML-basierten Workflowprojekten mit Visual Studio möglich, wenn FIPS aktiviert ist. Ohne dies wird in Aufrufen von Methoden in der System.Activities-Assembly NullReferenceException ausgelöst. |
.NET Framework 4.7 |
Switch.System.Activities. UseMD5ForWFDebugger |
Steuert, ob die Prüfsumme für eine Workflowinstanz im Debugger MD5 oder SHA1 verwendet. | .NET Framework 4.7 |
Switch.System.Activities. UseSHA1HashForDebuggerSymbols |
Steuert, ob Workflowprüfsummen-Hashing den SHA1-Algorithmus verwendet, der in .NET Framework 4.7 (true ) als Standard eingeführt wurde, oder ob der SHA256-Standardalgorithmus verwendet wird, der in .NET Framework 4.8 (false ) als Standard eingeführt wurde.Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256. |
.NET Framework 4.8 |
Switch.System.Diagnostics. IgnorePortablePDBsInStackTraces |
Steuert, ob Stapelüberwachungen, die bei der Verwendung portabler PDBs abgerufen werden, Quelldatei- und Zeileninformationen enthalten können. false , um Quelldatei- und Zeileninformationen einzuschließen; andernfalls true . |
.NET Framework 4.7.2 |
Switch.System.Drawing. DontSupportPngFramesInIcons |
Steuert, ob die Icon.ToBitmap-Methode eine Ausnahme auslöst, wenn ein Icon-Objekt über PNG-Frames verfügt. Weitere Informationen finden Sie unter Entschärfung: PNG-Bilder in Symbolobjekten. | .NET Framework 4.6 |
Switch.System.Drawing.Text. DoNotRemoveGdiFontsResourcesFromFontCollection |
Bestimmt, ob System.Drawing.Text.PrivateFontCollection-Objekte ordnungsgemäß verworfen werden, wenn sie der Auflistung durch die PrivateFontCollection.AddFontFile(String)-Methode hinzugefügt werden. true , um das Legacyverhalten beizubehalten; false , um alle privaten Schriftartobjekte zu verwerfen. |
.NET Framework 4.7.2 |
Switch.System.Drawing.Printing. OptimizePrintPreview |
Steuert, ob die Leistung von PrintPreviewDialog für Netzwerkdrucker optimiert ist. Weitere Informationen finden Sie unter Übersicht über das PrintPreviewDialog-Steuerelement. | .NET Framework 4.6 |
Switch.System.Globalization.EnforceJapaneseEraYearRanges |
Steuert, ob jahresweite Überprüfungen für japanische Kalenderzeiträume erzwungen werden. true , um Jahresbereichsüberprüfungen zu erzwingen, und false , um sie zu deaktivieren (Standardverhalten). Weitere Informationen finden Sie unter Arbeiten mit Kalendern. |
.NET Framework 4.6 |
Switch.System.Globalization.EnforceLegacyJapaneseDateParsing |
Steuert, ob bei Analysevorgängen nur „1“ als erstes Jahr eines japanischen Kalenderzeitraums erkannt wird. true , um nur „1“ zu erkennen; false , um entweder „1“ oder Gannen (Standardverhalten) zu erkennen. Weitere Informationen finden Sie unter Arbeiten mit Kalendern. |
.NET Framework 4.6 |
Switch.System.Globalization.FormatJapaneseFirstYearAsANumber |
Steuert, ob das erste Jahr eines japanischen Kalenderzeitraums in Formatierungsvorgängen als „1“ oder Gannen dargestellt wird. true , um das erste Jahr des Zeitraums mit „1“ zu formatieren; false , um es als Gannen zu formatieren (Standardverhalten). Weitere Informationen finden Sie unter Arbeiten mit Kalendern. |
.NET Framework 4.6 |
Switch.System.Globalization.NoAsyncCurrentCulture |
Steuert, ob asynchrone Vorgänge nicht aus dem Kontext des aufrufenden Threads fließen. Weitere Informationen finden Sie unter CurrentCulture und CurrentUICulture werden über mehrere Aufgaben übertragen. | .NET Framework 4.6 |
Switch.System.IdentityModel. DisableMultipleDNSEntriesInSANCertificate |
Steuert, ob die X509CertificateClaimSet.FindClaims-Methode versucht, den Anspruchstyp nur mit dem letzten DNS-Eintrag abzugleichen. Weitere Informationen finden Sie unter Entschärfung: X509CertificateClaimSet.FindClaims-Methode. | .NET Framework 4.6.1 |
Switch.System.IdentityModel. EnableCachedEmptyDefaultAuthorizationContext |
Steuert, ob AuthorizationContext.Empty ein veränderliches Objekt zurückgeben darf. | .NET Framework 4.6 |
Switch.System.IO.BlockLongPaths |
Steuert, ob Pfade, die länger als MAX_PATH (260 Zeichen) sind, eine PathTooLongExceptionauslösen. Weitere Informationen finden Sie unter Unterstützung für lange Pfade. |
.NET Framework 4.6.2 |
Switch.System.IO.Compression. DoNotUseNativeZipLibraryForDecompression |
Steuert, ob native Betriebssystemroutinen für die Dekomprimierung von der DeflateStream-Klasse verwendet werden. false zur Verwendung nativer APIs; true , um die DeflateStream-Implementierung zu verwenden. |
.NET Framework 4.7.2 |
Switch.System.IO.Compression.ZipFile. UseBackslash |
Verwendet den umgekehrten Schrägstrich („\“) anstelle des Schrägstrichs („/“) als Pfadtrennzeichen in der ZipArchiveEntry.FullName-Eigenschaft. Weitere Informationen finden Sie unter Entschärfung: Pfadtrennzeichen für ZipArchiveEntry.FullName. | .NET Framework 4.6.1 |
Switch.System.IO.Ports. DoNotCatchSerialStreamThreadExceptions |
Steuert, ob Betriebssystemausnahmen, die in Hintergrundthreads ausgelöst werden, die mit SerialPort-Streams erstellt wurden, den Prozess beenden. | .NET Framework 4.7.1 |
Switch.System.IO. UseLegacyPathHandling |
Steuert, ob die Normalisierung von Legacypfaden verwendet wird, und URI-Pfade von den Methoden Path.GetDirectoryName und Path.GetPathRoot unterstützt werden. Weitere Informationen finden Sie unter Entschärfung: Pfadnormalisierung und Entschärfung: Überprüfen von Pfaden auf Doppelpunkte. | .NET Framework 4.6.2 |
Switch.System. MemberDescriptorEqualsReturnsFalseIfEquivalent |
Steuert, ob ein Gleichheitstest die MemberDescriptor.Category-Eigenschaft eines Objekts mit der MemberDescriptor.Description-Eigenschaft des zweiten Objekts vergleicht. Weitere Informationen finden Sie unter Falsche Implementierung von MemberDescriptor.Equals. | .NET Framework 4.6.2 |
Switch.System.Net. DontCheckCertificateEKUs |
Deaktiviert die Überprüfung des Objektbezeichners (Object Identifier, OID) des Zertifikats „Erweiterte Schlüsselverwendung“ (Enhanced Key Usage, EKU). Eine EKU-Erweiterung ist eine Sammlung von OIDs, die Anwendungen kennzeichnen, die den Schlüssel verwenden. | .NET Framework 4.6 |
Switch.System.Net. DontEnableSchSendAuxRecord |
Deaktiviert die Entschärfung von TLS1.0 Browser Exploit Against SSL/TLS (BEAST) durch Deaktivieren der Nutzung von SCH_SEND_AUX_RECORD. | .NET Framework 4.6 |
Switch.System.Net. DontEnableSchUseStrongCrypto |
Steuert, ob die Klassen System.Net.ServicePointManager und System.Net.Security.SslStream das SSL 3.0-Protokoll verwenden können. Weitere Informationen finden Sie unter Entschärfung: TLS-Protokolle. | .NET Framework 4.6 |
Switch.System.Net. DontEnableSystemDefaultTlsVersions |
Deaktiviert die Möglichkeit, SystemDefault-TLS-Versionen auf einen Standardwert von Tls12, Tls11 und Tls zurückzusetzen. | .NET Framework 4.7 |
Switch.System.Net. DontEnableTlsAlerts |
Deaktiviert serverseitige SslStream-TLS-Warnungen. | .NET Framework 4.7 |
Switch.System.Runtime.InteropServices. DoNotMarshalOutByrefSafeArrayOnInvoke |
Steuert, ob ByRef SafeArray-Parameter in COM-Interopereignissen zurück in nativen Code (false ) gemarshallt werden, oder ob das Marshalling zurück zum nativen Code deaktiviert ist (true ). |
.NET Framework 4.8 |
Switch.System.Runtime.Serialization. DoNotUseECMAScriptV6EscapeControlCharacter |
Steuert, ob DataContractJsonSerializer einige Steuerelementzeichen auf den ECMAScript V6- und V8-Standards basierend serialisiert. Weitere Informationen finden Sie unter Entschärfung: Serialisierung von Steuerzeichen mit dem DataContractJsonSerializer | .NET Framework 4.7 |
Switch.System.Runtime.Serialization. DoNotUseTimeZoneInfo |
Steuert, ob DataContractJsonSerializer mehrere Anpassungen oder nur eine einzelne Anpassung für eine Zeitzone unterstützt. Wenn true , wird der TimeZoneInfo-Typ verwendet, um Datums- und Uhrzeitdaten zu serialisieren und zu deserialisieren. Andernfalls wird der TimeZone-Typ verwendet, der nicht mehrere Anpassungsregeln unterstützt. |
.NET Framework 4.6.2 |
Switch.System.Runtime.Serialization.UseNewMaxArraySize |
Steuert, ob System.Runtime.Serialization.ObjectManager während der Serialisierung und Deserialisierung von Objekten eine größere Arraygröße verwendet. Legen Sie diesen Schalter auf true fest, um die Leistung der Serialisierung und Deserialisierung großer Objektgraphen nach Typen wie BinaryFormatter zu verbessern. |
.NET Framework 4.7.2 |
Switch.System.Security.ClaimsIdentity. SetActorAsReferenceWhenCopyingClaimsIdentity |
Steuert, ob der ClaimsIdentity(IIdentity)-Konstruktor die Eigenschaft des neuen Objekts ClaimsIdentity.Actor mit einem vorhandenen Objektverweis festlegt. Weitere Informationen finden Sie unter Entschärfung: ClaimsIdentity-Konstruktor. | .NET Framework 4.6.2 |
Switch.System.Security.Cryptography. AesCryptoServiceProvider.DontCorrectlyResetDecryptor |
Steuert, ob der Versuch, eine AesCryptoServiceProvider-Entschlüsselungsmethode wiederzuverwenden, eine CryptographicException auslöst. Weitere Informationen finden Sie unter Die AesCryptoServiceProvider-Entschlüsselungsmethode stellt eine wiederverwendbare Transformation bereit. | .NET Framework 4.6.2 |
Switch.System.Security.Cryptography. DoNotAddrOfCspParentWindowHandle |
Steuert, ob der Wert der CspParameters.ParentWindowHandle-Eigenschaft ein IntPtr ist, der den Speicherort eines Fensterhandles darstellt, oder ob es sich um ein Fensterhandle (ein HWND) handelt. Weitere Informationen finden Sie unter Entschärfung: CspParameters.ParentWindowHandle erwartet ein HWND. | .NET Framework 4.7 |
Switch.System.Security.Cryptography. UseLegacyFipsThrow |
Steuert, ob die Verwendung von verwalteten Kryptografieklassen im FIPS-Modus eine CryptographicException (true ) auslöst, oder auf der Implementierung von Systembibliotheken (false ) basiert. |
.NET Framework 4.8 |
Switch.System.Security.Cryptography.Pkcs. UseInsecureHashAlgorithms |
Bestimmt, ob der Standardwert für einige SignedCMS-Vorgänge SHA1 oder SHA256 ist. Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256. |
.NET Framework 4.7.1 |
Switch.System.Security.Cryptography.X509Certificates. ECDsaCertificateExtensions.UseLegacyPublicKeyReader |
Steuert, ob die ECDsaCertificateExtensions.GetECDsaPublicKey-Methode alle benannten Kurven ordnungsgemäß verarbeitet, die vom Betriebssystem (false ) unterstützt werden, oder ob das Legacyverhalten wiederhergestellt wird. |
.NET Framework 4.8 |
Switch.System.Security.Cryptography.Xml. UseInsecureHashAlgorithms |
Bestimmt, ob der Standardwert für einige SignedXML-Vorgänge SHA1 oder SHA256 ist. Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256. |
.NET Framework 4.7.1 |
Switch.System.ServiceModel. AllowUnsignedToHeader |
Bestimmt, ob der TransportWithMessageCredential -Sicherheitsmodus Nachrichten mit einem nicht signierten „to“-Header zulässt. Dies ist ein Aktivierungsfeature. Weitere Informationen finden Sie unter Änderungen der Runtime in .NET Framework Version 4.6.1. |
.NET Framework 4.6.1 |
Switch.System.ServiceModel. DisableAddressHeaderCollectionValidation > |
Steuert, ob der AddressHeaderCollection(IEnumerable<AddressHeader>)-Konstruktor eine ArgumentException auslöst, wenn eines der Elemente den Wert null aufweist. |
.NET Framework 4.7.1 |
Switch.System.IdentityModel. DisableCngCertificates |
Bestimmt, ob der Versuch, X509-Zertifikate mit einem CSG-Schlüsselspeicheranbieter zu verwenden, eine Ausnahme auslöst. Weitere Informationen finden Sie unter Unterstützung der WCF-Transportsicherheit für Zertifikate, die mithilfe der CNG gespeichert wurden. | .NET Framework 4.6.1 |
Switch.System.ServiceModel. DisableExplicitConnectionCloseHeader |
Wenn Sie den HTTP-Transport mit einem selbstgehosteten Dienst verwenden, bewirkt das Festlegen dieses Werts auf true , dass WCF eine Anwendung ignoriert, die den Connection: close -Header den Antwortheadern für eine Anforderung hinzufügt. Wenn Sie diesen Wert auf false festlegen, kann der Connection: close -Header den Antwortheadern hinzugefügt werden, was zum Schließen des Anforderungssockets führt, nachdem eine Antwort gesendet wurde. |
.NET Framework 4.6 |
Switch.System.ServiceModel. DisableOperationContextAsyncFlow |
Behandelt Deadlocks, die daraus resultieren, dass Instanzen eines eintrittsinvarianten Diensts auf jeweils einen Ausführungsthread beschränkt werden. | .NET Framework 4.6.2 |
Switch.System.ServiceModel. DisableUsingServicePointManagerSecurityProtocols |
Bestimmt zusammen mit Switch.System.Net.DontEnableSchUseStrongCrypto , ob die WCF-Nachrichtensicherheit TLS 1.1 und TLS 1.2 verwendet. |
.NET Framework 4.7 |
Switch.System.ServiceModel. DontEnableSystemDefaultTlsVersions |
Ein Wert von false legt die Standardkonfiguration fest, sodass das Protokoll vom Betriebssystem ausgewählt werden kann. Ein Wert von true legt die Standardeinstellung auf das höchste verfügbare Protokoll fest. (Auch im Servicing Branch früherer Frameworkversionen verfügbar) |
.NET Framework 4.7.1 |
Switch.System.ServiceModel. UseSha1InMsmqEncryptionAlgorithm |
Bestimmt, ob der Standardalgorithmus für die Nachrichtensignatur für MSMQ-Nachrichten in WCF SHA1 oder SHA256 ist. Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256. |
.NET Framework 4.7.1 |
Switch.System.ServiceModel. UseSha1InPipeConnectionGetHashAlgorithm |
Steuert, ob WCF einen SHA1- oder SHA256-Hash verwendet, um zufällige Namen für Named Pipes zu generieren. Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256. |
.NET Framework 4.7.1 |
Switch.System.ServiceModel.Internals IncludeNullExceptionMessageInETWTrace |
Steuert, ob eine NullReferenceException ausgelöst wird, wenn die Ausnahmemeldung NULL ist. | .NET Framework 4.7 |
Switch.System.ServiceProcess. DontThrowExceptionsOnStart |
Steuert, ob beim Starten des Diensts ausgelöste Ausnahmen an den Aufrufer der ServiceBase.Run-Methode weitergegeben werden. | .NET Framework 4.7.1 |
Switch.System.Threading.UseNetCoreTimer |
Steuert, ob Timer-Instanzen Leistungsverbesserungen für Umgebungen mit hoher Skalierung nutzen. Wenn true , sind die Leistungsverbesserungen aktiviert, wenn false (der Standardwert), sind sie deaktiviert. |
.NET Framework 4.8 |
Switch.System.Uri. DontEnableStrictRFC3986ReservedCharacterSets |
Bestimmt, ob bestimmte prozentcodierte Zeichen, die manchmal decodiert wurden, jetzt konsistent linkscodiert werden. Wenn true , werden sie decodiert, andernfalls false . |
.NET Framework 4.7.2 |
Switch.System.Uri. DontKeepUnicodeBidiFormattingCharacters |
Bestimmt die Behandlung bidirektionaler Unicode-Zeichen in URIs. true , um sie aus URIs zu entfernen; false , um sie beizubehalten und die Prozentcodierung für sie durchzuführen. |
.NET Framework 4.7.2 |
Switch.System.Windows.Controls.Grid. StarDefinitionsCanExceedAvailableSpace |
Bestimmt, ob Windows Presentation Foundation einen alten Algorithmus (true ) oder einen neuen Algorithmus (false ) bei der Zuweisung von Speicherplatz zu *-Spalten anwendet. Weitere Informationen finden Sie unter Entschärfung: Platzzuweisung an mit Stern gekennzeichnete Spalten durch das Rastersteuerelement. |
.NET Framework 4.7 |
Switch.System.Windows.Controls.TabControl. SelectionPropertiesCanLagBehindSelectionChangedEvent |
Steuert, ob ein Selektor oder ein Registerkartensteuerelement immer den Wert seiner ausgewählten Werteigenschaft aktualisiert, bevor das Auswahländerungsereignis ausgelöst wird. | .NET Framework 4.7.1 |
Switch.System.Windows.Controls.Text. UseAdornerForTextboxSelectionRendering |
Bestimmt, ob das nicht Adorner-basierte Auswahlrendering für die Steuerelemente TextBox und PasswordBox verfügbar ist, um verstopften Text zu verhindern (false ), oder ob Text nur in der Adorner-Ebene gerendert wird (true ). |
.NET Framework 4.7.2 |
Switch.System.Windows.Data.Binding. IListIndexerHidesCustomIndexer |
Steuert, ob benutzerdefinierte IList-Indexer von der System.Windows.Data.Binding-Klasse falsch (true ) oder ordnungsgemäß (false ) verwendet werden. |
.NET Framework 4.8 |
Switch.System.Windows.DoNotScaleForDpiChanges |
Bestimmt, ob DPI-Änderungen pro System (ein Wert von false ) oder pro Monitor (ein Wert von true ) auftreten. |
.NET Framework 4.6.2 |
Switch.System.Windows. DoNotUsePresentationDpiCapabilityTier2OrGreater |
Steuert, ob Verbesserungen bei der Größenanpassung von Steuerelementen in einem System.Windows.Interop.HwndHost deaktiviert (true ) oder aktiviert (false ) sind, wenn WPF im „Pro Monitor“-Modus ausgeführt wird. |
.NET Framework 4.8 |
Switch.System.Windows.Forms. DisconnectUiaProvidersOnWmDestroy |
Steuert, ob Anbieter getrennt werden, wenn das entsprechende Steuerungsfenster zerstört wird (true ) oder nicht (false ). Diese Option bietet eine Opt-In zu einem Leistungskorrektur, um einen Verlust von IRawElementProviderSimple Objekten zu beheben. |
.NET Framework 4.8 |
Switch.System.Windows.Forms. DomainUpDown.UseLegacyScrolling |
Bestimmt, ob der Entwickler die DomainUpDown.UpButton()-Aktion speziell behandeln muss, wenn der Steuerelementtext vorhanden ist. true , um die UpButton()-Aktion zu behandeln; false , damit die DomainUpDown.UpButton()- und DomainUpDown.DownButton()-Aktionen ordnungsgemäß synchronisiert werden. |
.NET Framework 4.7.2 |
Switch.System.Windows.Forms. DontSupportReentrantFilterMessage |
Deaktiviert den Code, der einer benutzerdefinierten IMessageFilter.PreFilterMessage-Implementierung ermöglicht, Nachrichten sicher zu filtern, ohne eine Ausnahme auszulösen, wenn die Application.FilterMessage-Methode aufgerufen wird. Weitere Informationen finden Sie unter Entschärfung: Benutzerdefinierte IMessageFilter.PreFilterMessage-Implementierungen. | .NET Framework 4.6.1 |
Switch.System.Windows.Forms. UseLegacyContextMenuStripSourceControlValue |
Bestimmt, ob die ContextMenuStrip.SourceControl-Eigenschaft die Quellcodeverwaltung zurückgibt, wenn der Benutzer das Menü über ein geschachteltes ToolStripMenuItem-Steuerelement öffnet. true , um null zurückzugeben, das Legacyverhalten; false , um die Quellcodeverwaltung zurückzugeben. |
.NET Framework 4.7.2 |
Switch.System.Windows.Forms.UseLegacyToolTipDisplay |
Steuert, ob die Unterstützung für den QuickInfo-Aufruf deaktiviert (true ) oder aktiviert ist (false ). Zum Aktivieren der QuickInfo-Aufrufunterstützung müssen auch ältere Barrierefreiheitsfeatures, die von Switch.UseLegacyAccessibilityFeatures , Switch.UseLegacyAccessibilityFeatures.2 und Switch.UseLegacyAccessibilityFeatures.3 definiert sind, alle deaktiviert (auf false festgelegt) werden. |
.NET Framework 4.8 |
Switch.System.Windows.Input.Stylus. EnablePointerSupport |
Bestimmt, ob in WPF-Anwendungen ein optionaler Touch-/Eingabestiftstapel auf WM_POINTER -Basis aktiviert ist. Weitere Informationen finden Sie unter Entschärfung: Zeigerbasierte Touch- und Stiftunterstützung. |
.NET Framework 4.7 |
Switch.System.Windows.Markup. DoNotUseSha256ForMarkupCompilerChecksumAlgorithm |
Bestimmt, ob für Prüfsummen der Standardhashalgorithmus SHA256 (false ) oder SHA1 (true ) verwendet wird.Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256. |
.NET Framework 4.7.2 |
Switch.System.Windows.Media.ImageSourceConverter. OverrideExceptionWithNullReferenceException |
Steuert, ob anstelle der Ausnahme eine ältere NullReferenceException ausgelöst wird, die die Ursache der Ausnahme genauer angibt (z. B. eine DirectoryNotFoundException oder FileNotFoundException). Dies ist für die Verwendung durch Code vorgesehen, der von der Behandlung der NullReferenceException abhängt. | .NET Framework 4.7 |
Switch.System.Workflow.ComponentModel. UseLegacyHashForXomlFileChecksum |
Steuert, ob das Prüfsummenhashing von XOML-Dateien in Workflowprojektbuilds den MD5-Algorithmus (true ) verwendet, oder ob der in .NET Framework 4.8 als Standard eingeführte SHA256-Algorithmus verwendet wird.Microsoft empfiehlt SHA256 aufgrund der Konflikte mit MD5. |
.NET Framework 4.8 |
Switch.System.Workflow.Runtime. UseLegacyHashForSqlTrackingCacheKey |
Steuert, ob das Prüfsummenhashing von SqlTrackingService den MD5-Algorithmus (true ) für zwischengespeicherte Zeichenfolgen verwendet, oder ob der in .NET Framework 4.8 als Standard eingeführte SHA256-Algorithmus verwendet wird.Microsoft empfiehlt SHA256 aufgrund der Konflikte mit MD5. |
.NET Framework 4.8 |
Switch.System.Workflow.Runtime. UseLegacyHashForWorkflowDefinitionDispenserCacheKey |
Steuert, ob das Prüfsummenhashing der Workflowruntime den MD5-Algorithmus (true ) für zwischengespeicherte Workflowdefinitionen verwendet, oder ob der in .NET Framework 4.8 als Standard eingeführte SHA256-Algorithmus verwendet wird.Microsoft empfiehlt SHA256 aufgrund der Konflikte mit MD5. |
.NET Framework 4.8 |
Switch.UseLegacyAccessibilityFeatures |
Steuert, ob ab .NET Framework 4.7.1 verfügbare Barrierefreiheitsfeatures aktiviert oder deaktiviert sind. | .NET Framework 4.7.1 |
Switch.UseLegacyAccessibilityFeatures.2 |
Steuert, ob in .NET Framework 4.7.2 verfügbare Barrierefreiheitsfeatures aktiviert (false ) oder deaktiviert (true ) sind. Wenn true , muss Switch.UseLegacyAccessibilityFeatures auch true sein, um Barrierefreiheitsfeatures von .NET Framework 4.7.1 zu aktivieren. |
.NET Framework 4.7.2 |
Switch.UseLegacyAccessibilityFeatures.3 |
Steuert, ob in .NET Framework 4.8 eingeführte Barrierefreiheitsfeatures aktiviert (false ) oder deaktiviert (true ) sind. Wenn true , müssen Switch.UseLegacyAccessibilityFeatures und Switch.UseLegacyAccessibilityFeatures.2 ebenfalls true sein. |
.NET Framework 4.8 |
Switch.UseLegacyToolTipDisplay |
Steuert, ob QuickInfos angezeigt werden, wenn Benutzer*innen den Mauszeiger über ein WPF-Steuerelement bewegen (true ), oder ob sie sowohl im Tastaturfokus als auch über die Tastenkombination (false , Standardverhalten) angezeigt werden. Für Anwendungen, die unter .NET Framework 4.8 ausgeführt werden, aber auf frühere Versionen von .NET Framework ausgerichtet sind, erfordert die Aktivierung von Tastaturfokus und Tastenkombinationsunterstützung, dass Switch.UseLegacyAccessibilityFeatures , Switch.UseLegacyAccessibilityFeatures.2 und Switch.UseLegacyAccessibilityFeatures.3 alle auf false festgelegt sind. |
.NET Framework 4.8 |
Switch.System.Xml. IgnoreEmptyKeySequences |
Steuert, ob leere Schlüsselsequenzen in zusammengesetzten Schlüsseln von der XSD-Schemaüberprüfung ignoriert werden. Weitere Informationen finden Sie unter Entschärfung: XML-Schemavalidierung. | .NET Framework 4.6 |
Hinweis
Anstatt einer Anwendungskonfigurationsdatei ein AppContextSwitchOverrides
-Element hinzuzufügen, können Sie die Schalter auch programmgesteuert festlegen, indem Sie die AppContext.SetSwitch-Methode aufrufen.
Bibliotheksentwickler können auch benutzerdefinierte Schalter definieren, damit Aufrufer die in späteren Versionen ihrer Bibliotheken eingeführten geänderten Funktionen deaktivieren können. Weitere Informationen finden Sie in den Ausführungen zur AppContext-Klasse.
Schalter in ASP.NET-Apps
Sie können eine ASP.NET-Anwendung für die Verwendung von Kompatibilitätseinstellungen konfigurieren, indem Sie dem Abschnitt <appSettings> der web.config-Datei ein <Add>-Element hinzufügen.
Im folgenden Beispiel wird das <add>
-Element verwendet, um dem <appSettings>
-Abschnitt einer web.config-Datei zwei Einstellungen hinzuzufügen:
<appSettings>
<add key="AppContext.SetSwitch:Switch.System.Globalization.NoAsyncCurrentCulture" value="true" />
<add key="AppContext.SetSwitch:Switch.System.Uri.DontEnableStrictRFC3986ReservedCharacterSets" value="true" />
</appSettings>
Beispiel
Im folgenden Beispiel wird das AppContextSwitchOverrides
-Element verwendet, um einen einzelnen Anwendungskompatibilitätsschalter (Switch.System.Globalization.NoAsyncCurrentCulture
) zu definieren, der einen threadsübergreifenden Kulturfluss in asynchronen Methodenaufrufen verhindert.
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.Globalization.NoAsyncCurrentCulture=true" />
</runtime>
</configuration>
Im folgenden Beispiel wird das AppContextSwitchOverrides
-Element verwendet, um die beiden Anwendungskompatibilitätsschalter Switch.System.Globalization.NoAsyncCurrentCulture
und Switch.System.IO.BlockLongPaths
zu definieren. Ein Semikolon trennt die beiden Name-Wert-Paare.
<configuration>
<runtime>
<AppContextSwitchOverrides
value="Switch.System.Globalization.NoAsyncCurrentCulture=true;Switch.System.IO.BlockLongPaths=true" />
</runtime>
</configuration>