<AppContextSwitchOverrides > élément<AppContextSwitchOverrides> Element

Définit un ou plusieurs commutateurs utilisés par la classe AppContext pour fournir un mécanisme d’annulation d’abonnement aux nouvelles fonctionnalités.Defines one or more switches used by the AppContext class to provide an opt-out mechanism for new functionality.

<configuration><configuration>
<runtime><runtime>
<AppContextSwitchOverrides><AppContextSwitchOverrides>

SyntaxeSyntax

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

Attributs et élémentsAttributes and Elements

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.The following sections describe attributes, child elements, and parent elements.

AttributsAttributes

AttributAttribute DescriptionDescription
value Attribut requis.Required attribute.

Définit un ou plusieurs noms de commutateur et leurs valeurs Boolean associées.Defines one or more switch names and their associated Boolean values.

valeur d’attributvalue Attribute

ValueValue DescriptionDescription
"name=value""name=value" Un nom de commutateur prédéfinis ainsi que sa valeur (true ou false).A predefined switch name along with its value (true or false). Plusieurs paires nom/valeur de commutateur sont séparés par des points-virgules (« ; »).Multiple switch name/value pairs are separated by semicolons (";"). Pour obtenir la liste de noms de commutateurs prédéfinis pris en charge par le .NET Framework, consultez la section Notes.For a list of predefined switch names supported by the .NET Framework, see the Remarks section.

Éléments enfantsChild Elements

Aucun.None.

Éléments parentsParent Elements

ÉlémentElement DescriptionDescription
configuration Élément racine de chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework.The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime Contient des informations sur les options d'initialisation du runtime.Contains information about runtime initialization options.

NotesRemarks

En commençant par le .NET Framework 4.6, la <AppContextSwitchOverrides> élément dans un fichier de configuration permet aux appelants d’une API pour déterminer si son application peut tirer parti des nouvelles fonctionnalités ou préserver la compatibilité avec les versions précédentes d’une bibliothèque.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. Par exemple, si le comportement d’une API a changé entre deux versions d’une bibliothèque, le <AppContextSwitchOverrides> élément permet aux appelants de cette API pour désactiver le nouveau comportement sur les versions qui prennent en charge les nouvelles fonctionnalités de la bibliothèque.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. Pour les applications qui appellent les API dans le .NET Framework, le <AppContextSwitchOverrides> élément permettent également des appelants dont les applications ciblent une version antérieure du .NET Framework à opter pour nouvelles fonctionnalités si leur application est en cours d’exécution sur une version du .NET Framework qui inclut qui fonctionnalité.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.

Le value attribut de la <AppContextSwitchOverrides> élément se compose d’une chaîne unique qui se compose d’une ou plusieurs paires nom/valeur séparées par un point-virgule.The value attribute of the <AppContextSwitchOverrides> element consists of a single string that consists of one or more semicolon-delimited name/value pairs. Chaque nom identifie un commutateur de compatibilité, et sa valeur correspondante est une valeur booléenne (true ou false) qui indique si le commutateur est défini.Each name identifies a compatibility switch, and its corresponding value is a Boolean (true or false) that indicates whether the switch is set. Par défaut, le commutateur est false, et les bibliothèques fournissent la nouvelle fonctionnalité.By default, the switch is false, and libraries provide the new functionality. Ils fournissent uniquement les fonctionnalités précédentes si le commutateur est défini (autrement dit, sa valeur est true).They only provide the previous functionality if the switch is set (that is, its value is true). Cela permet aux bibliothèques fournir le nouveau comportement pour une API existante tout en permettant aux appelants qui varient selon le comportement précédent pour désactiver la nouvelle fonctionnalité.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.

Le .NET Framework prend en charge les commutateurs suivants :The .NET Framework supports the following switches:

Nom du commutateurSwitch name DescriptionDescription IntroduiteIntroduced
Switch.MS.Internal.
DoNotApplyLayoutRoundingToMarginsAndBorderThickness
Détermine si Windows Presentation Foundation utilise hérité d’un algorithme pour contrôler la disposition.Controls whether Windows Presentation Foundation uses legacy a algorithm for control layout. Pour plus d’informations, consultez Atténuation : Disposition WPF.For more information, see Mitigation: WPF Layout. .NET Framework 4.6.NET Framework 4.6
Switch.MS.Internal.
UseSha1AsDefaultHashAlgorithmForDigitalSignatures
Contrôle si l’algorithme par défaut utilisé pour la signature des parties d’un package par PackageDigitalSignatureManager est SHA1 ou SHA256.Controls whether the default algorithm used for signing parts of a package by PackageDigitalSignatureManager is SHA1 or SHA256.
En raison de problèmes de collision avec SHA-1, Microsoft recommande SHA-256.Due to collision problems with SHA1, Microsoft recommends SHA256.
.NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.Activities.
UseMD5CryptoServiceProviderForWFDebugger
Lorsque la valeur false, permet le débogage de projets de workflow basé sur XAML avec Visual Studio lorsque FIPS est activé.When set to false, allows debugging of XAML-based workflow projects with Visual Studio when FIPS is enabled. Sans cela, un NullReferenceException est levée dans les appels aux méthodes dans l’assembly System.Activities.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
Détermine si la somme de contrôle pour une instance de flux de travail dans le débogueur utilise MD5 ou SHA1.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
Détermine si le hachage de somme de contrôle de flux de travail utilise l’algorithme SHA1 présenté comme la valeur par défaut dans .NET Framework 4.7 (true), ou qu’elle utilise l’algorithme SHA256 par défaut introduit en tant que la valeur par défaut dans .NET Framework 4.8 (false).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).
En raison de problèmes de collision avec SHA-1, Microsoft recommande SHA-256.Due to collision problems with SHA1, Microsoft recommends SHA256.
.NET Framework 4.8.NET Framework 4.8
Switch.System.Diagnostics.
IgnorePortablePDBsInStackTraces
Contrôle si les traces de pile obtenir lors de l’utilisation des fichiers PDB portables peut inclure des informations de fichier et de ligne source.Controls whether stack traces obtain when using portable PDBs can include source file and line information. false Pour inclure les informations de fichier et de ligne source ; Sinon, true.false to include source file and line information; otherwise, true. .NET Framework 4.7.2.NET Framework 4.7.2
Switch.System.Drawing.
DontSupportPngFramesInIcons
Contrôles si le Icon.ToBitmap méthode lève une exception quand un Icon objet comporte des cadres PNG.Controls whether the Icon.ToBitmap method throws an exception when an Icon object has PNG frames. Pour plus d’informations, consultez Atténuation : Des cadres PNG dans les objets Icon.For more information, see Mitigation: PNG Frames in Icon Objects. .NET Framework 4.6.NET Framework 4.6
Switch.System.Drawing.Text.
DoNotRemoveGdiFontsResourcesFromFontCollection
Détermine si System.Drawing.Text.PrivateFontCollection les objets sont correctement supprimés lors de l’ajout à la collection par le PrivateFontCollection.AddFontFile(String) (méthode).Determines whether System.Drawing.Text.PrivateFontCollection objects are properly disposed when added to the collection by the PrivateFontCollection.AddFontFile(String) method. true Pour conserver le comportement hérité ; false à dispose de tous les objets de polices privées.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
Contrôles si les performances de la PrintPreviewDialog est optimisé pour les imprimantes réseau.Controls whether the performance of the PrintPreviewDialog is optimized for network printers. Pour plus d’informations, consultez vue d’ensemble du contrôle PrintPreviewDialog.For more information, see PrintPreviewDialog control overview. .NET Framework 4.6.NET Framework 4.6
Switch.System.Globalization.EnforceJapaneseEraYearRanges Contrôle si la plage de l’année vérifie pour le calendrier japonais ères sont appliquées.Controls whether year range checks for Japanese calendar eras are enforced. true Pour appliquer la plage de l’année les vérifications, et false pour les désactiver (comportement par défaut).true to enforce year range checks, and false to disable them (the default behavior). Pour plus d’informations, consultez utilisation des calendriers.For more information, see Working with calendars. .NET Framework 4.6.NET Framework 4.6
Switch.System.Globalization.EnforceLegacyJapaneseDateParsing Contrôle si uniquement « 1 » est reconnu en tant que la première année d’une ère du calendrier japonais dans les opérations d’analyse.Controls whether only "1" is recognized as the first year of a Japanese calendar era in parsing operations. true pour reconnaître uniquement « 1 » ; false pour reconnaître des « 1 » ou Gannen du (comportement par défaut).true to recognize only "1"; false to recognize either "1" or Gannen (the default behavior). Pour plus d’informations, consultez utilisation des calendriers.For more information, see Working with calendars. .NET Framework 4.6.NET Framework 4.6
Switch.System.Globalization.FormatJapaneseFirstYearAsANumber Contrôle si la première année d’une ère du calendrier japonais est représentée en tant que « 1 » ou Gannen dans les opérations de mise en forme.Controls whether the first year of a Japanese calendar era is represented as "1" or Gannen in formatting operations. true Pour formater la première année de l’ère « 1 » ; false formater en tant que Gannen du (comportement par défaut).true to format the era's first year as "1"; false to format it as Gannen (the default behavior). Pour plus d’informations, consultez utilisation des calendriers.For more information, see Working with calendars. .NET Framework 4.6.NET Framework 4.6
Switch.System.Globalization.NoAsyncCurrentCulture Contrôle si les opérations asynchrones ne sont pas acheminées à partir du contexte du thread appelant.Controls whether asynchronous operations do not flow from the calling thread's context. Pour plus d’informations, consultez CurrentCulture et CurrentUICulture transmis entre des tâches.For more information, see CurrentCulture and CurrentUICulture flow across tasks. .NET Framework 4.6.NET Framework 4.6
Switch.System.IdentityModel.
DisableMultipleDNSEntriesInSANCertificate
Contrôles si le X509CertificateClaimSet.FindClaims méthode tente de faire correspondre le type de revendication uniquement avec la dernière entrée DNS.Controls whether the X509CertificateClaimSet.FindClaims method attempts to match the claim type only with the last DNS entry. Pour plus d’informations, consultez Atténuation : Méthode X509CertificateClaimSet.FindClaims.For more information, see Mitigation: X509CertificateClaimSet.FindClaims Method. .NET Framework 4.6.1.NET Framework 4.6.1
Switch.System.IdentityModel.
EnableCachedEmptyDefaultAuthorizationContext
Détermine s’il faut autoriser AuthorizationContext.Empty retourner un objet mutable.Controls whether to allow AuthorizationContext.Empty to return a mutable object. .NET Framework 4.6.NET Framework 4.6
Switch.System.IO.BlockLongPaths Contrôles si chemins de plus de MAX_PATH (260 caractères) lèvent une PathTooLongException.Controls whether paths longer than MAX_PATH (260 characters) throw a PathTooLongException. Pour plus d’informations, consultez prise en charge du chemin d’accès longs.For more information, see Long Path Support. .NET Framework 4.6.2.NET Framework 4.6.2
Switch.System.IO.Compression.
DoNotUseNativeZipLibraryForDecompression
Contrôle si les commandes du système d’exploitation d’origine sont utilisées pour la décompression à la DeflateStream classe.Controls whether native OS routines are used for decompression by the DeflateStream class. false Pour utiliser des API natives ; true à utiliser le DeflateStream implémentation.false 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
Utilise la barre oblique inverse («\») au lieu de la barre oblique (« / ») comme séparateur de chemin d’accès dans le ZipArchiveEntry.FullName propriété.Uses the backslash ("\") rather than the forward slash ("/") as the path separator in the ZipArchiveEntry.FullName property. Pour plus d’informations, consultez atténuation : Séparateur de chemin ZipArchiveEntry.FullName.For more information, see Mitigation: ZipArchiveEntry.FullName Path Separator. .NET Framework 4.6.1.NET Framework 4.6.1
Switch.System.IO.Ports.
DoNotCatchSerialStreamThreadExceptions
Détermine si le fonctionnement des exceptions de système qui sont levées sur les threads d’arrière-plan créés avec SerialPort flux mettre fin au processus.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
Détermine si la normalisation de chemin d’accès héritée est utilisée et chemins d’URI sont pris en charge par le Path.GetDirectoryName et Path.GetPathRoot méthodes.Controls whether legacy path normalization is used and URI paths are supported by the Path.GetDirectoryName and Path.GetPathRoot methods. Pour plus d’informations, consultez Atténuation : Normalisation des chemins et atténuation : Vérifications des signes deux-points de chemin d’accès.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
Détermine si un test pour l’égalité compare le MemberDescriptor.Category propriété d’un objet avec le MemberDescriptor.Description propriété du deuxième objet.Controls whether a test for equality compares the MemberDescriptor.Category property of one object with the MemberDescriptor.Description property of the second object. Pour plus d’informations, consultez implémentation incorrecte de MemberDescriptor.Equals.For more information, see Incorrect implementation of MemberDescriptor.Equals. .NET Framework 4.6.2.NET Framework 4.6.2
Switch.System.Net.
DontCheckCertificateEKUs
Désactive la validation de l’utilisation de clé améliorée (EKU) objet identificateur (OID) des certificats.Disables certificate enhanced key usage (EKU) object identifier (OID) validation. Une extension EKU (utilisation améliorée de la clé) est une collection d’identificateurs d’objet indiquant les applications qui utilisent la clé.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
Désactive l’atténuation de TLS 1.0 navigateur exploiter sur SSL/TLS (BEAST) en désactivant l’utilisation de 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
Contrôles si le System.Net.ServicePointManager et System.Net.Security.SslStream classes peuvent utiliser le protocole SSL 3.0.Controls whether the System.Net.ServicePointManager and System.Net.Security.SslStream classes can use the SSL 3.0 protocol. Pour plus d’informations, consultez Atténuation : protocoles TLS.For more information, see Mitigation: TLS Protocols. .NET Framework 4.6.NET Framework 4.6
Switch.System.Net.
DontEnableSystemDefaultTlsVersions
Désactive les versions SystemDefault TLS retour à la valeur par défaut est Tls12, Tls11, Tls.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
Désactive les alertes de côté serveur SslStream TLS.Disables SslStream TLS server-side Alerts. .NET Framework 4.7.NET Framework 4.7
Switch.System.Runtime.InteropServices.
DoNotMarshalOutByrefSafeArrayOnInvoke
Contrôle si les paramètres ByRef SafeArray sur les événements d’interopérabilité COM marshaler en code natif (false) ou si le marshaling au code natif est désactivé (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
Contrôles si le DataContractJsonSerializer sérialise certains caractères de contrôle basées sur les normes ECMAScript V6 et V8.Controls whether the DataContractJsonSerializer serializes some control characters based on the ECMAScript V6 and V8 standards. Pour plus d’informations, consultez Atténuation : Sérialisation des caractères de contrôle avec 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
Contrôles si le DataContractJsonSerializer prend en charge plusieurs ajustements ou uniquement un seul réglage pour un fuseau horaire.Controls whether the DataContractJsonSerializer supports multiple adjustments or only a single adjustment for a time zone. Si true, il utilise le TimeZoneInfo type à sérialiser et désérialiser des données de date et heure ; sinon, il utilise le TimeZone type, qui ne prend pas en charge plusieurs règles d’ajustement.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 Contrôles si System.Runtime.Serialization.ObjectManager utilise une plus grande taille de tableau pendant la sérialisation de l’objet et de la désérialisation.Controls whether System.Runtime.Serialization.ObjectManager uses a larger array size during object serialization and deserialization. Définissez ce commutateur sur true pour améliorer les performances de la sérialisation et la désérialisation de graphiques d’objets volumineux en types tels que BinaryFormatter.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
Contrôles si le ClaimsIdentity.ClaimsIdentity(IIdentity) constructeur définit le nouvel objet ClaimsIdentity.Actor propriété avec une référence d’objet existant.Controls whether the ClaimsIdentity.ClaimsIdentity(IIdentity) constructor sets the new object's ClaimsIdentity.Actor property with an existing object reference. Pour plus d’informations, consultez Atténuation : Constructeur ClaimsIdentity.For more information, see Mitigation: ClaimsIdentity Constructor. .NET Framework 4.6.2.NET Framework 4.6.2
Switch.System.Security.Cryptography.
AesCryptoServiceProvider.DontCorrectlyResetDecryptor
Contrôles si la tentative de réutiliser une AesCryptoServiceProvider déchiffreur lève un CryptographicException.Controls whether the attempt to reuse an AesCryptoServiceProvider decryptor throws a CryptographicException. Pour plus d’informations, consultez le déchiffreur AesCryptoServiceProvider fournit une transformation réutilisable.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
Contrôles si la valeur de la CspParameters.ParentWindowHandle propriété est un IntPtr que représente l’emplacement de mémoire d’une fenêtre Gérer, ou s’il s’agit d’un handle de fenêtre (HWND).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). Pour plus d’informations, consultez Atténuation : CspParameters.ParentWindowHandle attend un HWND.For more information, see Mitigation: CspParameters.ParentWindowHandle Expects an HWND. .NET Framework 4.7.NET Framework 4.7
Switch.System.Security.Cryptography.
UseLegacyFipsThrow
Contrôle si les classes de l’utilisation du chiffrement géré dans FIPS mode lève un CryptographicException (true) ou s’appuie sur l’implémentation de bibliothèques système (false).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
Détermine si la valeur par défaut pour certaines opérations SignedCMS est SHA1 ou SHA256.Determines whether the default for some SignedCMS operations is SHA1 or SHA256.
En raison de problèmes de collision avec SHA-1, Microsoft recommande SHA-256.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
Contrôles si le GetECDsaPublicKey méthode gère correctement les courbes toutes nommées pris en charge par le système d’exploitation (false) ou reviennent au comportement hérité.Controls whether the 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
Détermine si la valeur par défaut pour certaines opérations SignedXML est SHA1 ou SHA256.Determines whether the default for some SignedXML operations is SHA1 or SHA256.
En raison de problèmes de collision avec SHA-1, Microsoft recommande SHA-256.Due to collision problems with SHA1, Microsoft recommends SHA256.
.NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.ServiceModel.
AllowUnsignedToHeader
Détermine si le TransportWithMessageCredential mode de sécurité permet de messages avec un en-tête « to ».Determines whether the TransportWithMessageCredential security mode allows messages with an unsigned "to" header. Il s’agit d’une option d’activation.This is an opt-in switch. Pour plus d’informations, consultez modifications du Runtime dans .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>
Contrôles si le AddressHeaderCollection(IEnumerable<AddressHeader>) constructeur lève un ArgumentException si un des éléments est null.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
Détermine que si la tentative d’utilisation X509 certificats avec un fournisseur de stockage de clés CSG LÈVENT une exception.Determines whether the attempt to use X509 certificates with a CSG key storage provider throws an exception. Pour plus d’informations, consultez sécurité du transport WCF prend en charge les certificats stockés à l’aide de CNG.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
Lorsque vous utilisez le transport HTTP avec un service auto-hébergé, la valeur true entraîne à ignorer l’ajout d’une application WCF le Connection: close en-tête pour les en-têtes de réponse pour une demande.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. La valeur false permettant d’ajouter le Connection: close en-tête pour les en-têtes de réponse, ce qui entraîne la fermeture du socket de la demande après l’envoi d’une réponse.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
Gère les blocages qui résultent de restriction des instances d’un service réentrant à un seul thread d’exécution à la fois.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
Avec Switch.System.Net.DontEnableSchUseStrongCrypto, détermine si la sécurité des messages WCF utilise TLS 1.1 et TLS 1.2.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
La valeur false définit la configuration par défaut pour permettre au système d’exploitation à choisir le protocole.A value of false sets the default configuration to allow the operating system to choose the protocol. La valeur true définit la valeur par défaut pour le protocole le plus élevé disponible.A value of true sets the default to the highest protocol available. (Également disponible sur la branche des précédentes versions de framework de maintenance)(Also available on servicing branch of previous framework versions) .NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.ServiceModel.
UseSha1InMsmqEncryptionAlgorithm
Détermine si l’algorithme pour les messages MSMQ dans WCF de signature des messages de par défaut est SHA1 ou SHA256.Determines whether the default message signing algorithm for MSMQ messages in WCF is SHA1 or SHA256.
En raison de problèmes de collision avec SHA-1, Microsoft recommande SHA-256.Due to collision problems with SHA1, Microsoft recommends SHA256.
.NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.ServiceModel.
UseSha1InPipeConnectionGetHashAlgorithm
Contrôle si WCF utilise un SHA1 ou un hachage SHA256 pour générer des noms aléatoires pour les canaux nommés.Controls whether WCF uses a SHA1 or a SHA256 hash to generate random names for named pipes.
En raison de problèmes de collision avec SHA-1, Microsoft recommande SHA-256.Due to collision problems with SHA1, Microsoft recommends SHA256.
.NET Framework 4.7.1.NET Framework 4.7.1
Switch.System.ServiceModel.Internals
IncludeNullExceptionMessageInETWTrace
Indique s’il faut lever une NullReferenceException lorsque le message d’exception est null.Controls whether to throw a NullReferenceException when the exception message is null. .NET Framework 4.7.NET Framework 4.7
Switch.System.ServiceProcess.
DontThrowExceptionsOnStart
Contrôle si les exceptions levées au démarrage du service sont propagées à l’appelant de la ServiceBase.Run (méthode).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 Contrôles si Timer instances tirer parti des améliorations des performances pour les environnements à grande échelle.Controls whether Timer instances take advantage of performance improvements for high-scale environments. Si true, les améliorations de performances sont activées ; si false (la valeur par défaut), elles sont désactivées.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
Détermine si certains caractères encodés en pourcentage qui étaient parfois décodés sont demeurent désormais systématiquement encodés.Determines whether certain percent-encoded characters that were sometimes decoded are now consistently left encoded. Si true, ils sont décodés ; sinon, false.If true, they are decoded; otherwise, false. .NET Framework 4.7.2.NET Framework 4.7.2
Switch.System.Uri.
DontKeepUnicodeBidiFormattingCharacters
Détermine la gestion des caractères de bidirectionnels Unicode dans les URI.Determines the handling of Unicode bidirectional characters in URIs. true pour les supprimer à partir des URI ; false pour conserver et encodez-les-%.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
Détermine si Windows Presentation Foundation s’applique à un ancien algorithme (true) ou un nouvel algorithme (false) dans l’allocation d’espace pour *-colonnes.Determines whether Windows Presentation Foundation applies an old algorithm (true) or a new algorithm (false) in allocating space to *-columns. Pour plus d’informations, consultez Atténuation : Allocation d’espace du contrôle de grille de colonnes en étoile.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
Événement de modification de contrôles si un sélecteur ou un onglet de contrôle toujours met à jour la valeur de sa propriété valeur sélectionnée avant le déclenchement de la sélection.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
Détermine si le rendu de la sélection en fonction non ornement est disponible pour le TextBox et PasswordBox contrôles pour empêcher un vaisseau texte (false), ou si le texte est rendu uniquement dans la couche d’ornement (true).Determines 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
Contrôle si des indexeurs IList personnalisés sont utilisés correctement (false) ou correctement (true) par le Binding classe.Controls whether custom IList indexers are used incorrectly (false) or correctly (true) by the Binding class. .NET Framework 4.8.NET Framework 4.8
Switch.System.Windows.DoNotScaleForDpiChanges Détermine si les modifications de la résolution se produisent sur un système par (valeur false) ou par moniteur (valeur true).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
Contrôles si les améliorations de dimensionnement de contrôles dans un System.Windows.Interop.HwndHost quand WPF est exécutée en mode prenant en charge par moniteur sont désactivées (true) ou activée (false).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
Détermine si le développeur doit gérer spécialement les DomainUpDown.UpButton() action lorsque le texte du contrôle est présent.Determines whether the developer needs to specially handle the DomainUpDown.UpButton() action when control text is present. true pour gérer le UpButton() action ; false pour le DomainUpDown.UpButton() et DomainUpDown.DownButton() actions soit correctement synchronisée.true 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
Refuse le code qui permet une personnalisée IMessageFilter.PreFilterMessage implémentation en toute sécurité filtrer les messages sans lever d’exception lorsque la Application.FilterMessage méthode est appelée.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. Pour plus d’informations, consultez Atténuation : Implémentations IMessageFilter.PreFilterMessage personnalisées.For more information, see Mitigation: Custom IMessageFilter.PreFilterMessage Implementations. .NET Framework 4.6.1.NET Framework 4.6.1
Switch.System.Windows.Forms.
UseLegacyContextMenuStripSourceControlValue
Détermine si le ContextMenuStrip.SourceControl propriété retourne le contrôle de code source lorsque l’utilisateur ouvre le menu à partir d’une liste imbriquée ToolStripMenuItem contrôle.Determines whether the ContextMenuStrip.SourceControl property returns the source control when the user opens the menu from a nested ToolStripMenuItem control. true pour retourner null, le comportement hérité ; false pour retourner le contrôle de code source.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 Contrôle si la prise en charge d’appel info-bulle est désactivé (true) ou activée (false).Controls whether tooltip invocation support is disabled (true) or enabled (false). L’activation de prise en charge des info-bulle appel nécessite également les fonctionnalités d’accessibilité hérités définies par Switch.UseLegacyAccessibilityFeatures, Switch.UseLegacyAccessibilityFeatures.2, et Switch.UseLegacyAccessibilityFeatures.3 tous être désactivée (valeur false).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
Détermine si un texte facultatif WM_POINTER-pile tactile/de stylet en est activé dans les applications WPF.Determines whether an optional WM_POINTER-based touch/stylus stack is enabled in WPF applications. Pour plus d’informations, consultez Atténuation : Pointeur tactile et prise en charge du styletFor more information, see Mitigation: Pointer-based Touch and Stylus Support .NET Framework 4.7.NET Framework 4.7
Switch.System.Windows.Markup.
DoNotUseSha256ForMarkupCompilerChecksumAlgorithm
Détermine si l’algorithme de hachage par défaut utilisé pour les sommes de contrôle est SHA256 (false) ou SHA1 (true).Determines whether the default hash algorithm used for checksums is SHA256 (false) or SHA1 (true).
En raison de problèmes de collision avec SHA-1, Microsoft recommande SHA-256.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
Détermine si un héritage NullReferenceException est levée au lieu de l’exception qui indique plus précisément la cause de l’exception (comme un DirectoryNotFoundException ou un FileNotFoundException.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. Il est destiné à utiliser par le code qui dépend de la gestion de la NullReferenceException.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
Les contrôles si le hachage de somme de contrôle des fichiers XOML dans le projet de flux de travail génère utilisent l’algorithme MD5 (true), ou qu’ils utilisent l’algorithme SHA256 présenté comme la valeur par défaut dans .NET Framework 4.8.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.
En raison de problèmes de collision avec MD5, Microsoft vous recommande de SHA256.Due to collision problems with MD5, Microsoft recommends SHA256.
.NET Framework 4.8.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForSqlTrackingCacheKey
Détermine si le hachage de somme de contrôle par le service SqlTrackingService utilise l’algorithme MD5 (true) pour les chaînes de mise en cache, ou qu’elle utilise l’algorithme SHA256 présenté comme la valeur par défaut dans .NET Framework 4.8.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.
En raison de problèmes de collision avec MD5, Microsoft vous recommande de SHA256.Due to collision problems with MD5, Microsoft recommends SHA256.
.NET Framework 4.8.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForWorkflowDefinitionDispenserCacheKey
Détermine si le hachage de somme de contrôle par le Runtime de Workflow utilise l’algorithme MD5 (true) pour les définitions de flux de travail mis en cache, ou qu’elle utilise l’algorithme SHA256 présenté comme la valeur par défaut dans .NET Framework 4.8.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.
En raison de problèmes de collision avec MD5, Microsoft vous recommande de SHA256.Due to collision problems with MD5, Microsoft recommends SHA256.
.NET Framework 4.8.NET Framework 4.8
Switch.UseLegacyAccessibilityFeatures Contrôles si disponible à partir de .NET Framework 4.7.1 de fonctionnalités d’accessibilité sont activées ou désactivées.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 Contrôles si fonctionnalités disponibles dans .NET Framework 4.7.2 d’accessibilité sont activées (false) ou désactivé (true).Controls whether accessibility features available in .NET Framework 4.7.2 are enabled (false) or disabled (true). Si true, Switch.UseLegacyAccessibilityFeatures doit également être true pour activer les fonctionnalités d’accessibilité de .NET Framework 4.7.1.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 Contrôles si les fonctionnalités d’accessibilité introduite dans .NET Framework 4.8 sont activés (false) ou désactivé (true).Controls whether accessibility features introduced in .NET Framework 4.8 are enabled (false) or disabled (true). Si true, Switch.UseLegacyAccessibilityFeatures et Switch.UseLegacyAccessibilityFeatures.2 doit également être true.If true, Switch.UseLegacyAccessibilityFeatures and Switch.UseLegacyAccessibilityFeatures.2 must also be true. .NET Framework 4.8.NET Framework 4.8
Switch.UseLegacyToolTipDisplay Contrôles si les info-bulles sont affichées lorsqu’un utilisateur pointe la souris sur un contrôle WPF (true), ou si elles s’affichent à la fois sur le focus clavier et via la touche de raccourci clavier (false, le comportement par défaut).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). Pour les applications s’exécutant sur .NET Framework 4.8 mais ciblant des versions antérieures du .NET Framework, l’activation à la fois le focus clavier et la prise en charge de la clé contextuel requiert que Switch.UseLegacyAccessibilityFeatures, Switch.UseLegacyAccessibilityFeatures.2, et Switch.UseLegacyAccessibilityFeatures.3 toutes être définies aux false.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
Contrôle si les séquences de touches vides dans les clés composées sont ignorés par la validation de schéma XSD.Controls whether empty key sequences in compound keys are ignored by XSD schema validation. Pour plus d’informations, consultez Atténuation : Validation de schéma XML.For more information, see Mitigation: XML Schema Validation. .NET Framework 4.6.NET Framework 4.6

Notes

Au lieu d’ajouter un AppContextSwitchOverrides élément à un fichier de configuration d’application, vous pouvez également définir les commutateurs par programmation en appelant le static (en c#) ou Shared (en Visual Basic) AppContext.SetSwitch (méthode).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.

Les développeurs de bibliothèque peuvent également définir des commutateurs pour autoriser les appelants à refuser la fonctionnalité modifiée introduite dans les versions ultérieures de leurs bibliothèques.Library developers can also define custom switches to allow callers to opt out of changed functionality introduced in later versions of their libraries. Pour plus d'informations, consultez la classe AppContext.For more information, see the AppContext class.

Commutateurs dans les applications ASP.NETSwitches in ASP.NET applications

Vous pouvez configurer une application ASP.NET pour utiliser les paramètres de compatibilité en ajoutant un <Ajouter > élément à la <appSettings > section du fichier web.config.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.

L’exemple suivant utilise le <add> élément à ajouter deux paramètres à la <appSettings> section d’un fichier web.config :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>

ExempleExample

L’exemple suivant utilise le AppContextSwitchOverrides élément pour définir un commutateur de compatibilité d’application unique, Switch.System.Globalization.NoAsyncCurrentCulture, culture qui empêche de circuler entre les threads d’appels de méthode asynchrones.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>  

L’exemple suivant utilise le AppContextSwitchOverrides élément pour définir les deux commutateurs de compatibilité d’application, Switch.System.Globalization.NoAsyncCurrentCulture et Switch.System.IO.BlockLongPaths.The following example uses the AppContextSwitchOverrides element to define two application compatibility switches, Switch.System.Globalization.NoAsyncCurrentCulture and Switch.System.IO.BlockLongPaths. Notez qu’un point-virgule sépare les deux paires nom/valeur.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>  

Voir aussiSee also