<AppContext witchoverrides-> Element<AppContextSwitchOverrides> Element

Definiert mindestens eine Option, die von der AppContext-Klasse für die Bereitstellung eines Mechanismus zum Deaktivieren neuer Funktionen verwendet wird.Defines one or more switches used by the AppContext class to provide an opt-out mechanism for new functionality.

<configuration> <configuration>
   <Lauf Zeit >   <runtime>
     <AppContextSwitchOverrides>    <AppContextSwitchOverrides>

SyntaxSyntax

<AppContextSwitchOverrides value="name1=value1[[;name2=value2];...]" />  

Attribute und ElementeAttributes and Elements

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.The following sections describe attributes, child elements, and parent elements.

AttributeAttributes

AttributAttribute BeschreibungDescription
value Erforderliches Attribut.Required attribute.

Definiert einen oder mehrere Switchnamen und die zugehörigen booleschen Werte.Defines one or more switch names and their associated Boolean values.

value-Attributvalue Attribute

WertValue BeschreibungDescription
"Name = Wert""name=value" Ein vordefinierter SwitchName zusammen mit dem Werttrue ( falseoder).A predefined switch name along with its value (true or false). Mehrere Switch-Name-Wert-Paare werden durch Semikolons (";") getrennt.Multiple switch name/value pairs are separated by semicolons (";"). Eine Liste der vordefinierten Switchnamen, die von der .NET Framework unterstützt werden, finden Sie im Abschnitt "Hinweise".For a list of predefined switch names supported by the .NET Framework, see the Remarks section.

Untergeordnete ElementeChild Elements

KeineNone.

Übergeordnete ElementeParent Elements

ElementElement BeschreibungDescription
configuration Das Stammelement in jeder von den Common Language Runtime- und .NET Framework-Anwendungen verwendeten Konfigurationsdatei.The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime Enthält Informationen über Laufzeitinitialisierungsoptionen.Contains information about runtime initialization options.

HinweiseRemarks

Beginnend mit dem .NET Framework 4,6 ermöglicht das <AppContextSwitchOverrides> -Element in einer Konfigurationsdatei Aufrufern von einer API, um zu bestimmen, ob Ihre APP die neuen Funktionen nutzen oder die Kompatibilität mit früheren Versionen einer Bibliothek beibehalten kann.Starting with the .NET Framework 4.6, the <AppContextSwitchOverrides> element in a configuration file allows callers of an API to determine whether their app can take advantage of new functionality or preserve compatibility with previous versions of a library. Wenn sich z. b. das Verhalten einer API zwischen zwei Versionen einer Bibliothek geändert hat, ermöglicht <AppContextSwitchOverrides> das-Element Aufrufern von dieser API, das neue Verhalten bei Versionen der Bibliothek zu abonnieren, die die neue Funktionalität unterstützen.For example, if the behavior of an API has changed between two versions of a library, the <AppContextSwitchOverrides> element allows callers of that API to opt out of the new behavior on versions of the library that support the new functionality. Für apps, die APIs im .NET Framework aufzurufen, <AppContextSwitchOverrides> kann das-Element auch Aufrufern ermöglichen, deren apps auf eine frühere Version des .NET Framework abzielen, um neue Funktionen zu abonnieren, wenn Ihre APP in einer Version der .NET Framework ausgeführt wird, die Folgendes enthält: alitäts.For apps that call APIs in the .NET Framework, the <AppContextSwitchOverrides> element can also allow callers whose apps target an earlier version of the .NET Framework to opt into new functionality if their app is running on a version of the .NET Framework that includes that functionality.

Das value -Attribut <AppContextSwitchOverrides> des-Elements besteht aus einer einzelnen Zeichenfolge, die aus einem oder mehreren durch Semikolons getrennten Name/Wert-Paaren besteht.The value attribute of the <AppContextSwitchOverrides> element consists of a single string that consists of one or more semicolon-delimited name/value pairs. Jeder Name identifiziert einen Kompatibilitäts Schalter, und der entsprechende Wert ist ein booleschertrue Wert false(oder), der angibt, ob der Switch festgelegt ist.Each name identifies a compatibility switch, and its corresponding value is a Boolean (true or false) that indicates whether the switch is set. Standardmäßig ist falseder Schalter, und Bibliotheken stellen die neue Funktionalität bereit.By default, the switch is false, and libraries provide the new functionality. Sie stellen nur die vorherige Funktionalität bereit, wenn der Switch festgelegt ist (d. h true. sein Wert ist).They only provide the previous functionality if the switch is set (that is, its value is true). Dadurch können Bibliotheken neues Verhalten für eine vorhandene API bereitstellen, während Aufrufer, die vom vorherigen Verhalten abhängen, die neue Funktionalität ablehnen können.This allows libraries to provide new behavior for an existing API while allowing callers who depend on the previous behavior to opt out of the new functionality.

Der .NET Framework unterstützt die folgenden Schalter:The .NET Framework supports the following switches:

SwitchNameSwitch name BeschreibungDescription AufgenommenIntroduced
Switch.MS.Internal.
DoNotApplyLayoutRoundingToMarginsAndBorderThickness
Steuert, ob Windows Presentation Foundation einen Legacy Algorithmus für das Steuerelement Layout verwendet.Controls whether Windows Presentation Foundation uses legacy a algorithm for control layout. Weitere Informationen finden Sie unter Entschärfung: WPF-Layout.For more information, see Mitigation: WPF Layout. .NET Framework 4.6.NET Framework 4.6
Switch.MS.Internal.
UseSha1AsDefaultHashAlgorithmForDigitalSignatures
Steuert, ob der Standard Algorithmus, der zum Signieren von Paket Teilen von PackageDigitalSignatureManager verwendet wird, SHA1 oder SHA256 ist.Controls whether the default algorithm used for signing parts of a package by PackageDigitalSignatureManager is SHA1 or SHA256.
Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256.Due to collision problems with SHA1, Microsoft recommends SHA256.
.NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.Activities.
UseMD5CryptoServiceProviderForWFDebugger
Wenn diese Einstellung falseauf festgelegt ist, wird das Debuggen von XAML-basierten Workflow Projekten mit Visual Studio ermöglicht, wenn "PPS" aktiviertWhen set to false, allows debugging of XAML-based workflow projects with Visual Studio when FIPS is enabled. Ohne diese wird eine NullReferenceException in Aufrufen von Methoden in der System. Activities-Assembly ausgelöst.Without it, a NullReferenceException is thrown in calls to methods in the System.Activities assembly. .NET Framework 4.7.NET Framework 4.7
Switch.System.Activities.
UseMD5ForWFDebugger
Steuert, ob die Prüfsumme für eine Workflow Instanz im Debugger MD5 oder SHA1 verwendet.Controls whether the checksum for a workflow instance in the debugger uses MD5 or SHA1. .NET Framework 4.7.NET Framework 4.7
Switch.System.Activities.
UseSHA1HashForDebuggerSymbols
Steuert, ob das hashup der Workflow Prüf Summe den SHA1-Algorithmus verwendet, der in .NET Frameworktrue4,7 () als Standard eingeführt wurde, oder ob der standardmäßige SHA256-Algorithmus verwendet wirdfalse, der als Standardwert in .NET Framework 4,8 () eingeführt wurde.Controls whether workflow checksum hashing uses the SHA1 algorithm introduced as the default in .NET Framework 4.7 (true), or whether it uses the default SHA256 algorithm introduced as the default in .NET Framework 4.8 (false).
Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256.Due to collision problems with SHA1, Microsoft recommends SHA256.
.NET Framework 4.8.NET Framework 4.8
Switch.System.Diagnostics.
IgnorePortablePDBsInStackTraces
Steuert, ob Stapel Überwachungen bei der Verwendung portabler pdsb-Informationen Quelldatei-und Zeilen Informationen enthalten können.Controls whether stack traces obtain when using portable PDBs can include source file and line information. falseSo schließen Sie Quelldatei-und Zeilen Informationen ein trueandernfalls.false to include source file and line information; otherwise, true. .NET Framework 4.7.2.NET Framework 4.7.2
Switch.System.Drawing.
DontSupportPngFramesInIcons
Steuert, ob Icon.ToBitmap die Methode eine Ausnahme auslöst, Icon wenn ein Objekt über PNG-Frames verfügt.Controls whether the Icon.ToBitmap method throws an exception when an Icon object has PNG frames. Weitere Informationen finden Sie unter Entschärfung: PNG-Frames in SymbolObjekten.For more information, see Mitigation: PNG Frames in Icon Objects. .NET Framework 4.6.NET Framework 4.6
Switch.System.Drawing.Text.
DoNotRemoveGdiFontsResourcesFromFontCollection
Bestimmt, System.Drawing.Text.PrivateFontCollection ob Objekte ordnungsgemäß verworfen werden, wenn Sie von der PrivateFontCollection.AddFontFile(String) -Methode der-Auflistung hinzugefügt werden.Determines whether System.Drawing.Text.PrivateFontCollection objects are properly disposed when added to the collection by the PrivateFontCollection.AddFontFile(String) method. trueSo behalten Sie das Legacy Verhalten bei false , um alle privaten Schriftart Objekte zu verwerfen.true to maintain the legacy behavior; false to dispose of all private font objects. .NET Framework 4.7.2.NET Framework 4.7.2
Switch.System.Drawing.Printing.
OptimizePrintPreview
Steuert, ob die Leistung von PrintPreviewDialog für Netzwerkdrucker optimiert ist.Controls whether the performance of the PrintPreviewDialog is optimized for network printers. Weitere Informationen finden Sie unter Übersicht über das PrintPreviewDialog-SteuerElement.For more information, see PrintPreviewDialog control overview. .NET Framework 4.6.NET Framework 4.6
Switch.System.Globalization.EnforceJapaneseEraYearRanges Steuert, ob Jahres Bereichs Prüfungen für japanische Kalender Zeiträume erzwungen werden.Controls whether year range checks for Japanese calendar eras are enforced. truezum Erzwingen von Überprüfungen im Jahres false Bereich und zum Deaktivieren der Werte (Standardverhalten).true to enforce year range checks, and false to disable them (the default behavior). Weitere Informationen finden Sie unter Arbeiten mit Kalendern.For more information, see Working with calendars. .NET Framework 4.6.NET Framework 4.6
Switch.System.Globalization.EnforceLegacyJapaneseDateParsing Steuert, ob nur "1" als das erste Jahr eines japanischen Kalender Zeitraums bei der Ausführung von Diagnose Vorgängen erkannt wird.Controls whether only "1" is recognized as the first year of a Japanese calendar era in parsing operations. true, wenn nur "1" erkannt werden soll. false um entweder "1" oder "Gannen" (Standardverhalten) zu erkennen.true to recognize only "1"; false to recognize either "1" or Gannen (the default behavior). Weitere Informationen finden Sie unter Arbeiten mit Kalendern.For more information, see Working with calendars. .NET Framework 4.6.NET Framework 4.6
Switch.System.Globalization.FormatJapaneseFirstYearAsANumber Steuert, ob das erste Jahr eines japanischen Kalender Zeitraums in Formatierungs Vorgängen als "1" oder "Gannen" dargestellt wird.Controls whether the first year of a Japanese calendar era is represented as "1" or Gannen in formatting operations. true, wenn das erste Jahr des Jahrs als "1" formatiert werden soll. false zum Formatieren als Gannen (Standardverhalten).true to format the era's first year as "1"; false to format it as Gannen (the default behavior). Weitere Informationen finden Sie unter Arbeiten mit Kalendern.For more information, see Working with calendars. .NET Framework 4.6.NET Framework 4.6
Switch.System.Globalization.NoAsyncCurrentCulture Steuert, ob asynchrone Vorgänge nicht aus dem Kontext des aufrufenden Threads abgeleitet werden.Controls whether asynchronous operations do not flow from the calling thread's context. Weitere Informationen finden Sie unter CurrentCulture und CurrentUICulture Flow over Tasks.For more information, see CurrentCulture and CurrentUICulture flow across tasks. .NET Framework 4.6.NET Framework 4.6
Switch.System.IdentityModel.
DisableMultipleDNSEntriesInSANCertificate
Steuert, ob X509CertificateClaimSet.FindClaims die Methode versucht, den Anspruchstyp nur mit dem letzten DNS-Eintrag zu vergleichen.Controls whether the X509CertificateClaimSet.FindClaims method attempts to match the claim type only with the last DNS entry. Weitere Informationen finden Sie unter Entschärfung: X509CertificateClaimSet. FindClaims-Methode.For more information, see Mitigation: X509CertificateClaimSet.FindClaims Method. .NET Framework 4.6.1.NET Framework 4.6.1
Switch.System.IdentityModel.
EnableCachedEmptyDefaultAuthorizationContext
Steuert, ob AuthorizationContext. Empty ein änderbares Objekt zurückgeben darf.Controls whether to allow AuthorizationContext.Empty to return a mutable object. .NET Framework 4.6.NET Framework 4.6
Switch.System.IO.BlockLongPaths Steuert, ob Pfade, MAX_PATH die länger sind als (260 PathTooLongExceptionZeichen), eine auslösen.Controls whether paths longer than MAX_PATH (260 characters) throw a PathTooLongException. Weitere Informationen finden Sie unter Unterstützung für lange Pfade.For more information, see Long Path Support. .NET Framework 4.6.2.NET Framework 4.6.2
Switch.System.IO.Compression.
DoNotUseNativeZipLibraryForDecompression
Steuert, ob systemeigene Betriebssystem Routinen zur Dekomprimierung DeflateStream durch die-Klasse verwendet werden.Controls whether native OS routines are used for decompression by the DeflateStream class. falseSo verwenden Sie Native APIs , um die DeflateStream -Implementierung zu verwenden. truefalse to use native APIs; true to use the DeflateStream implementation. .NET Framework 4.7.2.NET Framework 4.7.2
Switch.System.IO.Compression.ZipFile.
UseBackslash
Verwendet den umgekehrten Schrägstrich (\"") anstelle des Schrägstrichs ("/") als Pfad Trennzeichen in ZipArchiveEntry.FullName der-Eigenschaft.Uses the backslash ("\") rather than the forward slash ("/") as the path separator in the ZipArchiveEntry.FullName property. Weitere Informationen finden Sie unter Entschärfung: Zizichiveentry. FullName Pfad Trennzeichen.For more information, see Mitigation: ZipArchiveEntry.FullName Path Separator. .NET Framework 4.6.1.NET Framework 4.6.1
Switch.System.IO.Ports.
DoNotCatchSerialStreamThreadExceptions
Steuert, ob die Betriebssystem Ausnahmen, die bei mit SerialPort Streams erstellten Hintergrundthreads ausgelöst werden, den Prozess beenden.Controls whether operating system exceptions that are thrown on background threads created with SerialPort streams terminate the process. .NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.IO.
UseLegacyPathHandling
Steuert, ob die Normalisierung des Legacy Pfades verwendet wird und URI-Pfade Path.GetDirectoryName von Path.GetPathRoot den Methoden und unterstützt werden.Controls whether legacy path normalization is used and URI paths are supported by the Path.GetDirectoryName and Path.GetPathRoot methods. Weitere Informationen finden Sie unter Entschärfung: Normalisierung undEntschärfung des Pfades: Pfad-DoppelPunkt Überprüfungen.For more information, see Mitigation: Path Normalization and Mitigation: Path Colon Checks. .NET Framework 4.6.2.NET Framework 4.6.2
Switch.System.
MemberDescriptorEqualsReturnsFalseIfEquivalent
Steuert, ob ein Test auf Gleichheit die MemberDescriptor.Category -Eigenschaft eines Objekts mit der MemberDescriptor.Description -Eigenschaft des zweiten Objekts vergleicht.Controls whether a test for equality compares the MemberDescriptor.Category property of one object with the MemberDescriptor.Description property of the second object. Weitere Informationen finden Sie unter falsche Implementierung von mitglieddeskriptor.ist ist.For more information, see Incorrect implementation of MemberDescriptor.Equals. .NET Framework 4.6.2.NET Framework 4.6.2
Switch.System.Net.
DontCheckCertificateEKUs
Deaktiviert die Überprüfung der EKU-Objekt Kennung (Enhanced Key Usage, EKU) des Zertifikats.Disables certificate enhanced key usage (EKU) object identifier (OID) validation. Eine EKU-Erweiterung ist eine Sammlung von OIDs, die Anwendungen kennzeichnen, die den Schlüssel verwenden.An enhanced key usage (EKU) extension is a collection of object identifiers (OIDs) that indicate the applications that use the key. .NET Framework 4.6.NET Framework 4.6
Switch.System.Net.
DontEnableSchSendAuxRecord
Deaktiviert den TLS 1.0-Browser Exploit gegen SSL/TLS (Beast) Entschärfung durch Deaktivierung der Verwendung von SCH_SEND_AUX_RECORD.Disables TLS1.0 Browser Exploit Against SSL/TLS (BEAST) mitigation by disabling the use of SCH_SEND_AUX_RECORD. .NET Framework 4.6.NET Framework 4.6
Switch.System.Net.
DontEnableSchUseStrongCrypto
Steuert, ob System.Net.ServicePointManager die System.Net.Security.SslStream -Klasse und die-Klasse das SSL 3,0-Protokoll verwenden können.Controls whether the System.Net.ServicePointManager and System.Net.Security.SslStream classes can use the SSL 3.0 protocol. Weitere Informationen finden Sie unter Entschärfung: TLS-Protokolle.For more information, see Mitigation: TLS Protocols. .NET Framework 4.6.NET Framework 4.6
Switch.System.Net.
DontEnableSystemDefaultTlsVersions
Deaktiviert die System default-TLS-Versionen, die auf den Standardwert von Tls12, Tls11, TLS zurückgesetzt werden.Disables SystemDefault TLS versions reverting back to a default of Tls12, Tls11, Tls. .NET Framework 4.7.NET Framework 4.7
Switch.System.Net.
DontEnableTlsAlerts
Deaktiviert serverseitige SslStream-TLS-Warnungen.Disables SslStream TLS server-side Alerts. .NET Framework 4.7.NET Framework 4.7
Switch.System.Runtime.InteropServices.
DoNotMarshalOutByrefSafeArrayOnInvoke
Steuert, ob ByRef SAFEARRAY-Parameter für COM-Interop-Ereignisse zurück infalsesystemeigenen Code () oder ob das Marshalling zurück zu nativem Code deaktiviert ist (true).Controls whether ByRef SafeArray parameters on COM interop events marshal back to native code (false) or whether marshaling back to native code is disabled (true). .NET Framework 4.8.NET Framework 4.8
Switch.System.Runtime.Serialization.
DoNotUseECMAScriptV6EscapeControlCharacter
Steuert, ob DataContractJsonSerializer einige Steuerzeichen basierend auf den ECMAScript V6-und V8-Standards serialisiert.Controls whether the DataContractJsonSerializer serializes some control characters based on the ECMAScript V6 and V8 standards. Weitere Informationen finden Sie unter Entschärfung: Serialisierung von Steuerzeichen mit dem DataContractJsonSerializerFor more information, see Mitigation: Serialization of Control Characters with the DataContractJsonSerializer .NET Framework 4.7.NET Framework 4.7
Switch.System.Runtime.Serialization.
DoNotUseTimeZoneInfo
Steuert, ob DataContractJsonSerializer der mehrere Anpassungen oder nur eine einzelne Anpassung für eine Zeitzone unterstützt.Controls whether the DataContractJsonSerializer supports multiple adjustments or only a single adjustment for a time zone. Wenn true, wird der TimeZoneInfo -Typ zum Serialisieren und Deserialisieren von Datums-und Uhrzeitdaten verwendet; andernfalls TimeZone wird der-Typ verwendet, der mehrere Anpassungsregeln nicht unterstützt.If true, it uses the TimeZoneInfo type to serialize and deserialize date and time data; otherwise, it uses the TimeZone type, which does not support multiple adjustment rules. .NET Framework 4.6.2.NET Framework 4.6.2
Switch.System.Runtime.Serialization.UseNewMaxArraySize Steuert, System.Runtime.Serialization.ObjectManager ob bei der Objektserialisierung und-Deserialisierung eine größere Array Größe verwendet wird.Controls whether System.Runtime.Serialization.ObjectManager uses a larger array size during object serialization and deserialization. Legen Sie diesen Schalter true auf fest, um die Leistung der Serialisierung und Deserialisierung von großen Objekt Diagrammen nach Typen BinaryFormatterwie zu verbessern.Set this switch to true to improve the performance of serialization and deserialization of large object graphs by types such as BinaryFormatter. .NET Framework 4.7.2.NET Framework 4.7.2
Switch.System.Security.ClaimsIdentity.
SetActorAsReferenceWhenCopyingClaimsIdentity
Steuert, ob ClaimsIdentity.ClaimsIdentity(IIdentity) der Konstruktor die- ClaimsIdentity.Actor Eigenschaft des neuen Objekts mit einem vorhandenen Objekt Verweis festlegt.Controls whether the ClaimsIdentity.ClaimsIdentity(IIdentity) constructor sets the new object's ClaimsIdentity.Actor property with an existing object reference. Weitere Informationen finden Sie unter Entschärfung: ClaimsIdentity-Konstruktor.For more information, see Mitigation: ClaimsIdentity Constructor. .NET Framework 4.6.2.NET Framework 4.6.2
Switch.System.Security.Cryptography.
AesCryptoServiceProvider.DontCorrectlyResetDecryptor
Steuert, ob der Versuch, eine AesCryptoServiceProvider Entschlüsselungen wiederzuverwenden CryptographicException, eine auslöst.Controls whether the attempt to reuse an AesCryptoServiceProvider decryptor throws a CryptographicException. Weitere Informationen finden Sie unter AesCryptoServiceProvider Entschlüsselungs stellt eine wiederverwendbare Transformation bereit.For more information, see AesCryptoServiceProvider decryptor provides a reusable transform. .NET Framework 4.6.2.NET Framework 4.6.2
Switch.System.Security.Cryptography.
DoNotAddrOfCspParentWindowHandle
Steuert, ob der Wert der CspParameters. Parameter WindowHandle -Eigenschaft ein IntPtr ist, das die Speicherposition eines Fenster Handles darstellt, oder ob es sich um ein Fenster Handle (HWND) handelt.Controls whether the value of the CspParameters.ParentWindowHandle property is an IntPtr that represents the memory location of a window handle, or whether it is a window handle (an HWND). Weitere Informationen finden Sie unter Entschärfung: CspParameters. Parser WindowHandle erwartet ein HWND.For more information, see Mitigation: CspParameters.ParentWindowHandle Expects an HWND. .NET Framework 4.7.NET Framework 4.7
Switch.System.Security.Cryptography.
UseLegacyFipsThrow
Steuert, ob durch die Verwendung verwalteter Kryptografieklassen im-PPStrue-Modus ein CryptographicException () oder die Implementierung von SystemfalseBibliotheken () ausgelöst wird.Controls whether the use of managed cryptography classes in FIPS mode throws a CryptographicException (true) or relies on the implementation of system libraries (false). .NET Framework 4.8.NET Framework 4.8
Switch.System.Security.Cryptography.Pkcs.
UseInsecureHashAlgorithms
Bestimmt, ob der Standardwert für einige SignedCms-Vorgänge SHA1 oder SHA256 ist.Determines whether the default for some SignedCMS operations is SHA1 or SHA256.
Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256.Due to collision problems with SHA1, Microsoft recommends SHA256.
.NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.Security.Cryptography.X509Certificates.
ECDsaCertificateExtensions.UseLegacyPublicKeyReader
Steuert, ob ECDsaCertificateExtensions.GetECDsaPublicKey die Methode alle benannten Kurven, die vom Betriebssystem unterstütztfalsewerden (), ordnungsgemäß verarbeitet oder auf das Legacy Verhalten zurückgesetzt wird.Controls whether the ECDsaCertificateExtensions.GetECDsaPublicKey method correctly handles all named curves supported by the operating system (false) or reverts to legacy behavior. .NET Framework 4.8.NET Framework 4.8
Switch.System.Security.Cryptography.Xml.
UseInsecureHashAlgorithms
Bestimmt, ob der Standardwert für einige SignedXml-Vorgänge SHA1 oder SHA256 ist.Determines whether the default for some SignedXML operations is SHA1 or SHA256.
Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256.Due to collision problems with SHA1, Microsoft recommends SHA256.
.NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.ServiceModel.
AllowUnsignedToHeader
Bestimmt, ob TransportWithMessageCredential der Sicherheitsmodus Nachrichten mit einem unsignierten "to"-Header zulässt.Determines whether the TransportWithMessageCredential security mode allows messages with an unsigned "to" header. Dies ist ein Opt-in-Switch.This is an opt-in switch. Weitere Informationen finden Sie unter Lauf Zeit Änderungen in der .NET Framework 4.6.1.For more information, see Runtime Changes in the .NET Framework 4.6.1. .NET Framework 4.6.1.NET Framework 4.6.1
Switch.System.ServiceModel.
DisableAddressHeaderCollectionValidation>
Steuert, ob AddressHeaderCollection(IEnumerable<AddressHeader>) der Konstruktor eine ArgumentException auslöst, wenn eines der Elemente nullist.Controls whether the AddressHeaderCollection(IEnumerable<AddressHeader>) constructor throws an ArgumentException if one of the elements is null. .NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.ServiceModel.
DisableCngCertificates
Bestimmt, ob der Versuch, X509-Zertifikate mit einem CSG-Schlüsselspeicher Anbieter zu verwenden, eine Ausnahme auslöst.Determines whether the attempt to use X509 certificates with a CSG key storage provider throws an exception. Weitere Informationen finden Sie unter WCF-Transportsicherheit unterstützt Zertifikate, die mithilfe von CNG gespeichertwurden.For more information, see WCF transport security supports certificates stored using CNG. .NET Framework 4.6.1.NET Framework 4.6.1
Switch.System.ServiceModel.
DisableExplicitConnectionCloseHeader
Wenn Sie den HTTP-Transport mit einem selbstgeh osteten Dienst verwenden, bewirkt true das Festlegen dieses Werts auf, dass WCF Connection: close eine Anwendung ignoriert, die dem Antwortheader für eine Anforderung den-Header hinzufügt.When using the HTTP transport with a self-hosted service, setting this value to true causes WCF to ignore an application adding the Connection: close header to the response headers for a request. Wenn Sie diesen Wert false auf festlegen, Connection: close kann der-Header den Antwort Headern hinzugefügt werden, was dazu führt, dass der Anforderungs Socket geschlossen wird, nachdem eine Antwort gesendet wurde.Setting this value to false enables adding the Connection: close header to the response headers, which results in closing the request socket after a response has been sent. .NET Framework 4.6.NET Framework 4.6
Switch.System.ServiceModel.
DisableOperationContextAsyncFlow
Behandelt Deadlocks, die sich aus der Einschränkung von Instanzen eines Wiedereintritts enden dienstanzen auf einen einzelnen Ausführungs Thread ergeben.Handles deadlocks that result from restricting instances of a reentrant service to a single thread of execution at a time. .NET Framework 4.6.2.NET Framework 4.6.2
Switch.System.ServiceModel.
DisableUsingServicePointManagerSecurityProtocols
Bestimmt zusammen Switch.System.Net.DontEnableSchUseStrongCryptomit, ob die WCF-Nachrichten Sicherheit TLS 1,1 und TLS 1,2 verwendet.Along with Switch.System.Net.DontEnableSchUseStrongCrypto, determines whether WCF message security uses TLS 1.1 and TLS 1.2. .NET Framework 4.7.NET Framework 4.7
Switch.System.ServiceModel.
DontEnableSystemDefaultTlsVersions
Der Wert false legt die Standardkonfiguration fest, um dem Betriebssystem das Auswählen des Protokolls zu ermöglichen.A value of false sets the default configuration to allow the operating system to choose the protocol. Der Wert true legt den Standardwert auf das höchste verfügbare Protokoll fest.A value of true sets the default to the highest protocol available. (Auch für den Wartungs Zweig früherer Frameworkversionen verfügbar)(Also available on servicing branch of previous framework versions) .NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.ServiceModel.
UseSha1InMsmqEncryptionAlgorithm
Bestimmt, ob der standardmäßige Nachrichten Signatur Algorithmus für MSMQ-Nachrichten in WCF SHA1 oder SHA256 ist.Determines whether the default message signing algorithm for MSMQ messages in WCF is SHA1 or SHA256.
Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256.Due to collision problems with SHA1, Microsoft recommends SHA256.
.NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.ServiceModel.
UseSha1InPipeConnectionGetHashAlgorithm
Steuert, ob WCF einen SHA1-oder einen SHA256-Hash verwendet, um zufällige Namen für Named Pipes zu generieren.Controls whether WCF uses a SHA1 or a SHA256 hash to generate random names for named pipes.
Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256.Due to collision problems with SHA1, Microsoft recommends SHA256.
.NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.ServiceModel.Internals
IncludeNullExceptionMessageInETWTrace
Steuert, ob eine NullReferenceException ausgelöst werden soll, wenn die Ausnahme Meldung NULL ist.Controls whether to throw a NullReferenceException when the exception message is null. .NET Framework 4.7.NET Framework 4.7
Switch.System.ServiceProcess.
DontThrowExceptionsOnStart
Steuert, ob für den Dienst Start ausgelöste Ausnahmen an den ServiceBase.Run Aufrufer der-Methode weitergegeben werden.Controls whether exceptions thrown on service startup are propagated to the caller of the ServiceBase.Run method. .NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.Threading.UseNetCoreTimer Steuert, Timer ob Instanzen Leistungsverbesserungen für hochskalierbare Umgebungen nutzen.Controls whether Timer instances take advantage of performance improvements for high-scale environments. Wenn trueder Wert ist, werden die Leistungsverbesserungen false aktiviert; wenn (der Standardwert), werden diese deaktiviert.If true, the performance improvements are enabled; if false (the default value), they are disabled. .NET Framework 4.8.NET Framework 4.8
Switch.System.Uri.
DontEnableStrictRFC3986ReservedCharacterSets
Bestimmt, ob bestimmte Prozent codierte Zeichen, die manchmal decodiert waren, jetzt konsistent Links codiert sind.Determines whether certain percent-encoded characters that were sometimes decoded are now consistently left encoded. Gibt an false, dass Sie decodiert werden, andernfalls. trueIf true, they are decoded; otherwise, false. .NET Framework 4.7.2.NET Framework 4.7.2
Switch.System.Uri.
DontKeepUnicodeBidiFormattingCharacters
Bestimmt die Handhabung von bidirektionalen Unicode-Zeichen in URIs.Determines the handling of Unicode bidirectional characters in URIs. true, um Sie aus URIs zu entfernen. false , um Sie beizubehalten und zu codieren.true to strip them from URIs; false to preserve and percent-encode them. .NET Framework 4.7.2.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) zum Zuordnen von Speicher *Platz für-Spalten anwendet.Determines whether Windows Presentation Foundation applies an old algorithm (true) or a new algorithm (false) in allocating space to *-columns. Weitere Informationen finden Sie unter Entschärfung: Die Platz Zuordnung des Raster Steuer Elements zu SternSpalten.For more information, see Mitigation: Grid Control's Space Allocation to Star-columns. .NET Framework 4.7.NET Framework 4.7
Switch.System.Windows.Controls.TabControl.
SelectionPropertiesCanLagBehindSelectionChangedEvent
Steuert, ob ein Selector-Steuerelement oder ein Registerkarten-Steuerelement den Wert der ausgewählten Wert Eigenschaft immer aktualisiert, bevor das Auswahl Änderungs Ereignis erhöht wird.Controls whether a selector or a tab control always updates the value of its selected value property before raising the selection changed event. .NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.Windows.Controls.Text.
UseAdornerForTextboxSelectionRendering
Bestimmt, ob nicht-Adorner-basiertes Auswahl Rendering für das TextBox - PasswordBox Steuerelement und das-Steuerelementfalseverfügbar ist, um den okdierten Text () zu verhindern, odertrueob Text nur in der Adornerebene () gerendert wirdDetermines whether non-Adorner based selection rendering is available for the TextBox and PasswordBox controls to prevent occluded text (false), or whether text is rendered only in the Adorner layer (true). .NET Framework 4.7.2.NET Framework 4.7.2
Switch.System.Windows.Data.Binding.
IListIndexerHidesCustomIndexer
Steuert, ob benutzerdefinierte IList-Indexer falsch (false) oder ordnungsgemäßtrue() von System.Windows.Data.Binding der-Klasse verwendet werden.Controls whether custom IList indexers are used incorrectly (false) or correctly (true) by the System.Windows.Data.Binding class. .NET Framework 4.8.NET Framework 4.8
Switch.System.Windows.DoNotScaleForDpiChanges Bestimmt, ob dpi-Änderungen auf einem pro-System-(Wert false) oder pro Monitor ( trueWert) erfolgen.Determines whether DPI changes occur on a per-system (a value of false) or per-monitor basis (a value of true). .NET Framework 4.6.2.NET Framework 4.6.2
Switch.System.Windows.
DoNotUsePresentationDpiCapabilityTier2OrGreater
Steuert, ob Verbesserungen bei der Größen System.Windows.Interop.HwndHost Änderung von Steuerelementen in einem, wenn WPF im Überwachungsmodus protrueMonitor ausgeführt wird deaktiviertfalse() oder aktiviert () ist.Controls whether improvements in sizing of controls in a System.Windows.Interop.HwndHost when WPF is run in per-monitor aware mode are disabled (true) or enabled (false). .NET Framework 4.8.NET Framework 4.8
Switch.System.Windows.Forms.
DomainUpDown.UseLegacyScrolling
Bestimmt, ob der Entwickler die DomainUpDown.UpButton() Aktion speziell verarbeiten muss, wenn der Steuerelement Text vorhanden ist.Determines whether the developer needs to specially handle the DomainUpDown.UpButton() action when control text is present. true, wenn die UpButton() Aktion behandelt werden soll. damit die DomainUpDown.UpButton() Aktionen undDomainUpDown.DownButton() ordnungsgemäß synchronisiert werden. falsetrue to handle the UpButton() action; false for the DomainUpDown.UpButton() and DomainUpDown.DownButton() actions to be properly in sync. .NET Framework 4.7.2.NET Framework 4.7.2
Switch.System.Windows.Forms.
DontSupportReentrantFilterMessage
Beendet den Code, mit dem eine benutzerdefinierte IMessageFilter.PreFilterMessage Implementierung Nachrichten sicher filtern kann, ohne eine Ausnahme auszulösen, wenn die Application.FilterMessage -Methode aufgerufen wird.Opts out of the code that allows a custom IMessageFilter.PreFilterMessage implementation to safely filter messages without throwing an exception when the Application.FilterMessage method is called. Weitere Informationen finden Sie unter Entschärfung: Benutzerdefinierte IMessageFilter. PreFilterMessage-Implementierungen.For more information, see Mitigation: Custom IMessageFilter.PreFilterMessage Implementations. .NET Framework 4.6.1.NET Framework 4.6.1
Switch.System.Windows.Forms.
UseLegacyContextMenuStripSourceControlValue
Bestimmt, ob ContextMenuStrip.SourceControl die-Eigenschaft das Quell Steuerelement zurückgibt, wenn der Benutzer das Menü ToolStripMenuItem von einem-Steuerelement öffnet.Determines whether the ContextMenuStrip.SourceControl property returns the source control when the user opens the menu from a nested ToolStripMenuItem control. trueum zurück nullzugeben, das Legacy Verhalten;. false , um die Quell Code Verwaltung zurückzugeben.true to return null, the legacy behavior; false to return the source control. .NET Framework 4.7.2.NET Framework 4.7.2
Switch.System.Windows.Forms.UseLegacyToolTipDisplay Steuert, ob die QuickInfo-Aufruf Unterstützungtruedeaktiviert () oderfalseaktiviert () ist.Controls whether tooltip invocation support is disabled (true) or enabled (false). Das Aktivieren der Unterstützung von QuickInfo-aufrufen erfordert auch Switch.UseLegacyAccessibilityFeaturesLegacy Switch.UseLegacyAccessibilityFeatures.2-Barrierefreiheits Funktionen, die von, falseund Switch.UseLegacyAccessibilityFeatures.3 deaktiviert sind (auf festgelegt).Enabling tooltip invocation support also requires legacy accessibility features defined by Switch.UseLegacyAccessibilityFeatures, Switch.UseLegacyAccessibilityFeatures.2, and Switch.UseLegacyAccessibilityFeatures.3 all be disabled (set to false). .NET Framework 4.8.NET Framework 4.8
Switch.System.Windows.Input.Stylus.
EnablePointerSupport
Bestimmt, ob in WM_POINTERWPF-Anwendungen ein optionaler,-basierter Fingerabdruck Stapel aktiviert ist.Determines whether an optional WM_POINTER-based touch/stylus stack is enabled in WPF applications. Weitere Informationen finden Sie unter Entschärfung: Zeiger basierte Unterstützung für Finger Eingaben und TablettstiftFor more information, see Mitigation: Pointer-based Touch and Stylus Support .NET Framework 4.7.NET Framework 4.7
Switch.System.Windows.Markup.
DoNotUseSha256ForMarkupCompilerChecksumAlgorithm
Bestimmt, ob der für Prüfsummen verwendete Standard Hash Algorithmus SHA256 (false) oder SHA1 (true) ist.Determines whether the default hash algorithm used for checksums is SHA256 (false) or SHA1 (true).
Microsoft empfiehlt aufgrund der Konflikte mit SHA1 SHA256.Due to collision problems with SHA1, Microsoft recommends SHA256.
.NET Framework 4.7.2.NET Framework 4.7.2
Switch.System.Windows.Media.ImageSourceConverter.
OverrideExceptionWithNullReferenceException
Steuert, ob eine Legacy- NullReferenceException anstelle der Ausnahme ausgelöst wird, die die Ursache der Ausnahme genauer angibt (z. b. eine directoriynotfoundexception oder eine file topics-Eigenschaft).Controls whether a legacy NullReferenceException is thrown instead of the exception that more specifically indicates the cause of the exception (such as a DirectoryNotFoundException or a FileNotFoundException. Sie ist für die Verwendung durch Code vorgesehen, der von der Behandlung von NullReferenceExceptionabhängig ist.It is intended for use by code that depends on handling the NullReferenceException. .NET Framework 4.7.NET Framework 4.7
Switch.System.Workflow.ComponentModel.
UseLegacyHashForXomlFileChecksum
Steuert, ob die Prüfsummen Hashwerte von XOML-Dateien in Workflow Projektbuilds den MD5true-Algorithmus () verwenden oder ob Sie den SHA256-Algorithmus verwenden, der als Standard in .NET Framework 4,8 eingeführt wurde.Controls whether checksum hashing of XOML files in workflow project builds use the MD5 algorithm (true), or whether they use the SHA256 algorithm introduced as the default in .NET Framework 4.8.
Microsoft empfiehlt SHA256 aufgrund der Konflikte mit MD5.Due to collision problems with MD5, Microsoft recommends SHA256.
.NET Framework 4.8.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForSqlTrackingCacheKey
Steuert, ob das Hash von Prüfsummen durch den SqlTrackingService den MD5true-Algorithmus () für zwischengespeicherte Zeichen folgen verwendet oder ob der SHA256-Algorithmus verwendet wird, der als Standard in .NET Framework 4,8 eingeführt wurde.Controls whether checksum hashing by the SqlTrackingService uses the MD5 algorithm (true) for cached strings, or whether it uses the SHA256 algorithm introduced as the default in .NET Framework 4.8.
Microsoft empfiehlt SHA256 aufgrund der Konflikte mit MD5.Due to collision problems with MD5, Microsoft recommends SHA256.
.NET Framework 4.8.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForWorkflowDefinitionDispenserCacheKey
Steuert, ob ein Prüfsummen-Hashwert von der Workflow Laufzeit den MD5true-Algorithmus () für zwischengespeicherte Workflow Definitionen verwendet oder ob der SHA256-Algorithmus verwendet wird, der als Standard in .NET Framework 4,8 eingeführt wurde.Controls whether checksum hashing by the Workflow Runtime uses the MD5 algorithm (true) for cached workflow definitions, or whether it uses the SHA256 algorithm introduced as the default in .NET Framework 4.8.
Microsoft empfiehlt SHA256 aufgrund der Konflikte mit MD5.Due to collision problems with MD5, Microsoft recommends SHA256.
.NET Framework 4.8.NET Framework 4.8
Switch.UseLegacyAccessibilityFeatures Steuert, ob Barrierefreiheits Funktionen, die mit .NET Framework 4.7.1 verfügbar sind, aktiviert oder deaktiviert sind.Controls whether accessibility features available starting with .NET Framework 4.7.1 are enabled or disabled. .NET Framework 4.7.1.NET Framework 4.7.1
Switch.UseLegacyAccessibilityFeatures.2 Steuert, ob Barrierefreiheits Funktionen, die in .NET Framework 4.7.2falseverfügbar sind, aktivierttrue() oder deaktiviert () sind.Controls whether accessibility features available in .NET Framework 4.7.2 are enabled (false) or disabled (true). Wenn true, Switch.UseLegacyAccessibilityFeatures muss auch sein true , um .NET Framework 4.7.1-Barrierefreiheits Funktionen zu aktivieren.If true, Switch.UseLegacyAccessibilityFeatures must also be true to enable .NET Framework 4.7.1 accessibility features. .NET Framework 4.7.2.NET Framework 4.7.2
Switch.UseLegacyAccessibilityFeatures.3 Steuert, ob in .NET Framework 4,8 eingeführte Barrierefreiheits Features aktiviertfalse() oder deaktivierttrue() sind.Controls whether accessibility features introduced in .NET Framework 4.8 are enabled (false) or disabled (true). , true WennSwitch.UseLegacyAccessibilityFeatures und ebenfallsSwitch.UseLegacyAccessibilityFeatures.2 seintruemüssen.If true, Switch.UseLegacyAccessibilityFeatures and Switch.UseLegacyAccessibilityFeatures.2 must also be true. .NET Framework 4.8.NET Framework 4.8
Switch.UseLegacyToolTipDisplay Steuert, ob Quick Infos angezeigt werden, wenn ein Benutzer mit dem Mauszeiger auf ein WPF-trueSteuerelement bewegt wird () oder ob Sie sowohl auf dem Tastaturfokus als auch überfalsedie Tastenkombination (Standardverhalten) angezeigt werden.Controls whether tooltips are displayed when a user hovers the mouse cursor over a WPF control (true), or whether they are displayed both on keyboard focus and via keyboard shortcut key (false, the default behavior). Bei Anwendungen, die auf .NET Framework 4,8 ausgeführt werden, aber auf frühere Versionen der .NET Framework abzielen, erfordert die Aktivierung von Tastaturfokus Switch.UseLegacyAccessibilityFeaturesund Unterstützung Switch.UseLegacyAccessibilityFeatures.3 von Tastenkombinationen, falsedass Switch.UseLegacyAccessibilityFeatures.2und alle auf festgelegt werden.For applications running on .NET Framework 4.8 but targeting previous versions of the .NET Framework, enabling both keyboard focus and shortcut key support requires that Switch.UseLegacyAccessibilityFeatures, Switch.UseLegacyAccessibilityFeatures.2, and Switch.UseLegacyAccessibilityFeatures.3 all be set to false. .NET Framework 4.8.NET Framework 4.8
System.Xml.

IgnoreEmptyKeySequences
Steuert, ob leere schlüsselsequenzen in Verbund Schlüsseln durch die XSD-Schema Validierung ignoriert werden.Controls whether empty key sequences in compound keys are ignored by XSD schema validation. Weitere Informationen finden Sie unter Entschärfung: XML-SchemaValidierung.For more information, see Mitigation: XML Schema Validation. .NET Framework 4.6.NET Framework 4.6

Hinweis

Anstatt ein AppContextSwitchOverrides Element zu einer Anwendungs Konfigurationsdatei hinzuzufügen, können Sie die Schalter auch Programm gesteuert festlegen, indem static Sie die C#-Methode Shared (in) oder AppContext.SetSwitch die-Methode (in Visual Basic) aufrufen.Instead of adding an AppContextSwitchOverrides element to an application configuration file, you can also set the switches programmatically by calling the static (in C#) or Shared (in Visual Basic) AppContext.SetSwitch method.

Bibliotheks Entwickler können auch benutzerdefinierte Switches definieren, um Aufrufern zu ermöglichen, geänderte Funktionen zu abonnieren, die in späteren Versionen Ihrer Bibliotheken eingeführt wurden.Library developers can also define custom switches to allow callers to opt out of changed functionality introduced in later versions of their libraries. Weitere Informationen finden Sie in den Ausführungen zur AppContext-Klasse.For more information, see the AppContext class.

Switches in ASP.NET-AnwendungenSwitches in ASP.NET applications

Sie können eine ASP.NET-Anwendung so konfigurieren, dass Sie Kompatibilitäts Einstellungen verwendet, indem Sie dem <Abschnitt appSettings > der Datei "Web. config" ein <Add > -Element hinzufügen.You can configure an ASP.NET application to use compatibility settings by adding an <Add> element to the <appSettings> section of the web.config file.

Im folgenden Beispiel wird das <add> -Element verwendet, um dem <appSettings> -Abschnitt einer Web. config-Datei zwei Einstellungen hinzuzufügen:The following example uses the <add> element to add two settings to the <appSettings> section of a web.config file:

<appSettings>
  <add key="AppContext.SetSwitch:Switch.System.Globalization.NoAsyncCurrentCulture" value="true" />
  <add key="AppContext.SetSwitch:Switch.System.Uri.DontEnableStrictRFC3986ReservedCharacterSets" value="true" />
</appSettings>

BeispielExample

Im folgenden Beispiel wird das AppContextSwitchOverrides -Element verwendet, um einen einzelnen Anwendungskompatibilitäts-Switch, Switch.System.Globalization.NoAsyncCurrentCulture, zu definieren, der verhindert, dass die Kultur bei asynchronen Methoden aufrufen in Threads fließt.The following example uses the AppContextSwitchOverrides element to define a single application compatibility switch, Switch.System.Globalization.NoAsyncCurrentCulture, that prevents culture from flowing across threads in asynchronous method calls.

<configuration>  
   <runtime>  
      <AppContextSwitchOverrides value="Switch.System.Globalization.NoAsyncCurrentCulture=true" />  
   </runtime>  
</configuration>  

Im folgenden Beispiel wird AppContextSwitchOverrides Switch.System.Globalization.NoAsyncCurrentCulture das-Element verwendet, um zwei Anwendungs Kompatibilitäts Switch.System.IO.BlockLongPathsSwitches und zu definieren.The following example uses the AppContextSwitchOverrides element to define two application compatibility switches, Switch.System.Globalization.NoAsyncCurrentCulture and Switch.System.IO.BlockLongPaths. Beachten Sie, dass die beiden Name/Wert-Paare durch ein Semikolon getrennt werden.Note that a semicolon separates the two name/value pairs.

<configuration>  
    <runtime>  
       <AppContextSwitchOverrides   
          value="Switch.System.Globalization.NoAsyncCurrentCulture=true;Switch.System.IO.BlockLongPaths=true" />  
    </runtime>  
</configuration>  

Siehe auchSee also