<AppContextSwitchOverrides-element>
Definierar en eller flera växlar som används av AppContext klassen för att tillhandahålla en opt-out-mekanism för nya funktioner.
<konfiguration>
<Runtime>
<AppContextSwitchOverrides>
Syntax
<AppContextSwitchOverrides value="name1=value1[[;name2=value2];...]" />
Attribut och element
I följande avsnitt beskrivs attribut, underordnade element och överordnade element.
Attribut
Attribut | beskrivning |
---|---|
value |
Obligatoriskt. Definierar ett eller flera växelnamn och deras associerade booleska värden. |
värdeattribut
Värde | beskrivning |
---|---|
"name=value" | Ett fördefinierat växelnamn tillsammans med dess värde (true eller false ). Flera växelnamn/värdepar avgränsas med semikolon (";"). En lista över fördefinierade växelnamn som stöds av .NET Framework finns i avsnittet Anmärkningar. |
Underordnade element
Inga.
Överordnade element
Element | Description |
---|---|
configuration |
Rotelementet i varje konfigurationsfil som används av vanliga språkkörnings- och .NET Framework-program. |
runtime |
Innehåller information om initieringsalternativ för körning. |
Kommentarer
Från och med .NET Framework 4.6 gör elementet <AppContextSwitchOverrides>
i en konfigurationsfil att anropare av ett API kan avgöra om deras app kan dra nytta av nya funktioner eller bevara kompatibilitet med tidigare versioner av ett bibliotek. Om till exempel beteendet för ett API har ändrats mellan två versioner av ett bibliotek, tillåter elementet anropare av det API:et <AppContextSwitchOverrides>
att välja bort det nya beteendet för versioner av biblioteket som stöder de nya funktionerna. För appar som anropar API:er i .NET Framework kan elementet <AppContextSwitchOverrides>
även tillåta anropare vars appar riktar sig mot en tidigare version av .NET Framework att välja nya funktioner om deras app körs på en version av .NET Framework som innehåller den funktionen.
Elementets value
<AppContextSwitchOverrides>
attribut består av en enda sträng som består av ett eller flera semikolonavgränsade namn/värdepar. Varje namn identifierar en kompatibilitetsväxel och dess motsvarande värde är ett booleskt (true
eller false
) som anger om växeln har angetts. Som standard är false
växeln , och biblioteken tillhandahåller de nya funktionerna. De tillhandahåller bara den tidigare funktionen om växeln har angetts (det vill: dess värde är true
). Detta gör det möjligt för bibliotek att tillhandahålla nytt beteende för ett befintligt API samtidigt som anropare som är beroende av det tidigare beteendet kan välja bort de nya funktionerna.
.NET Framework stöder följande växlar:
Växla namn | beskrivning | Introducerade |
---|---|---|
Switch.MS.Internal. DoNotApplyLayoutRoundingToMarginsAndBorderThickness |
Styr om Windows Presentation Foundation använder äldre en algoritm för kontrolllayout. Mer information finns i Åtgärd: WPF-layout. | .NET framework 4.6 |
Switch.MS.Internal. UseSha1AsDefaultHashAlgorithmForDigitalSignatures |
Styr om standardalgoritmen som används för att signera delar av ett paket av PackageDigitalSignatureManager är SHA1 eller SHA256. På grund av kollisionsproblem med SHA1 rekommenderar Microsoft SHA256. |
.NET Framework 4.7.1 |
Switch.System.Activities. UseMD5CryptoServiceProviderForWFDebugger |
När värdet false är inställt på tillåter du felsökning av XAML-baserade arbetsflödesprojekt med Visual Studio när FIPS är aktiverat. Utan den genereras en NullReferenceException i anrop till metoder i sammansättningen System.Activities. |
.NET Framework 4.7 |
Switch.System.Activities. UseMD5ForWFDebugger |
Styr om kontrollsumman för en arbetsflödesinstans i felsökningsprogrammet använder MD5 eller SHA1. | .NET Framework 4.7 |
Switch.System.Activities. UseSHA1HashForDebuggerSymbols |
Styr om hashning för arbetsflödeskontrollsummor använder SHA1-algoritmen som introducerades som standard i .NET Framework 4.7 (true ), eller om den använder sha256-standardalgoritmen som introducerades som standard i .NET Framework 4.8 (false ).På grund av kollisionsproblem med SHA1 rekommenderar Microsoft SHA256. |
.NET Framework 4.8 |
Switch.System.Diagnostics. IgnorePortablePDBsInStackTraces |
Styr om stackspårningar hämtas när du använder bärbara PDF-filer kan innehålla källfil och radinformation. false för att inkludera källfil och radinformation; annars . true |
.NET Framework 4.7.2 |
Switch.System.Drawing. DontSupportPngFramesInIcons |
Styr om Icon.ToBitmap metoden utlöser ett undantag när ett Icon objekt har PNG-ramar. Mer information finns i Åtgärd: PNG-ramar i ikonobjekt. | .NET framework 4.6 |
Switch.System.Drawing.Text. DoNotRemoveGdiFontsResourcesFromFontCollection |
Avgör om System.Drawing.Text.PrivateFontCollection objekt tas bort korrekt när de läggs till i samlingen med hjälp PrivateFontCollection.AddFontFile(String) av metoden. true för att upprätthålla det äldre beteendet; false för att ta bort alla privata teckensnittsobjekt. |
.NET Framework 4.7.2 |
Switch.System.Drawing.Printing. OptimizePrintPreview |
Styr om prestandan för PrintPreviewDialog är optimerad för nätverksskrivare. Mer information finns i Översikt över PrintPreviewDialog-kontroll. | .NET framework 4.6 |
Switch.System.Globalization.EnforceJapaneseEraYearRanges |
Styr om årsintervallkontroller för japanska kalenderepoker tillämpas. true för att framtvinga årsintervallkontroller och false inaktivera dem (standardbeteendet). Mer information finns i Arbeta med kalendrar. |
.NET framework 4.6 |
Switch.System.Globalization.EnforceLegacyJapaneseDateParsing |
Styr om endast "1" identifieras som det första året i en japansk kalender-era i parsningsåtgärder. true att känna igen endast "1"; false för att identifiera antingen "1" eller Gannen (standardbeteendet). Mer information finns i Arbeta med kalendrar. |
.NET framework 4.6 |
Switch.System.Globalization.FormatJapaneseFirstYearAsANumber |
Styr om det första året av en japansk kalender era representeras som "1" eller Gannen i formateringsåtgärder. true för att formatera erans första år som "1"; false för att formatera den som Gannen (standardbeteendet). Mer information finns i Arbeta med kalendrar. |
.NET framework 4.6 |
Switch.System.Globalization.NoAsyncCurrentCulture |
Styr om asynkrona åtgärder inte flödar från den anropande trådens kontext. Mer information finns i CurrentCulture and CurrentUICulture flow across tasks (Aktuellkultur och CurrentUICulture-flöde mellan aktiviteter). | .NET framework 4.6 |
Switch.System.IdentityModel. DisableMultipleDNSEntriesInSANCertificate |
Styr om X509CertificateClaimSet.FindClaims metoden endast försöker matcha anspråkstypen med den senaste DNS-posten. Mer information finns i Mitigation: X509CertificateClaimSet.FindClaims-metoden. | .NET Framework 4.6.1 |
Switch.System.IdentityModel. EnableCachedEmptyDefaultAuthorizationContext |
Styr om authorizationContext.Empty ska kunna returnera ett föränderligt objekt. | .NET framework 4.6 |
Switch.System.IO.BlockLongPaths |
Styr om sökvägar som är längre än MAX_PATH (260 tecken) genererar en PathTooLongException. Mer information finns i Stöd för lång sökväg. |
.NET Framework 4.6.2 |
Switch.System.IO.Compression. DoNotUseNativeZipLibraryForDecompression |
Styr om interna OS-rutiner används för dekomprimering av DeflateStream klassen. false för att använda interna API:er; true för att använda implementeringen DeflateStream . |
.NET Framework 4.7.2 |
Switch.System.IO.Compression.ZipFile. UseBackslash |
Använder omvänt snedstreck ("\") i stället för snedstrecket ("/") som sökvägsavgränsare i ZipArchiveEntry.FullName egenskapen. Mer information finns i Mitigation: ZipArchiveEntry.FullName Path Separator. | .NET Framework 4.6.1 |
Switch.System.IO.Ports. DoNotCatchSerialStreamThreadExceptions |
Styr om operativsystemundatag som genereras i bakgrundstrådar som skapats med SerialPort strömmar avslutar processen. | .NET Framework 4.7.1 |
Switch.System.IO. UseLegacyPathHandling |
Styr om äldre sökvägsnormalisering används och URI-sökvägar stöds av Path.GetDirectoryName metoderna och Path.GetPathRoot . Mer information finns i Mitigation: Path Normalization and Mitigation: Path Colon Checks (Minskning av sökvägsnormalisering och minskning: Sökvägskolonkontroller). | .NET Framework 4.6.2 |
Switch.System. MemberDescriptorEqualsReturnsFalseIfEquivalent |
Styr om ett likhetstest MemberDescriptor.Category jämför egenskapen för ett objekt med egenskapen för MemberDescriptor.Description det andra objektet. Mer information finns i Felaktig implementering av MemberDescriptor.Equals. | .NET Framework 4.6.2 |
Switch.System.Net. DontCheckCertificateEKUs |
Inaktiverar validering av EKU-objektidentifierare (EKU) (certificate enhanced key usage). Ett tillägg för förbättrad nyckelanvändning (EKU) är en samling objektidentifierare (OID) som anger vilka program som använder nyckeln. | .NET framework 4.6 |
Switch.System.Net. DontEnableSchSendAuxRecord |
Inaktiverar TLS1.0-webbläsarexploatering mot SSL/TLS (BEAST) genom att inaktivera användningen av SCH_SEND_AUX_RECORD. | .NET framework 4.6 |
Switch.System.Net. DontEnableSchUseStrongCrypto |
Styr om klasserna System.Net.ServicePointManager och System.Net.Security.SslStream kan använda SSL 3.0-protokollet. Mer information finns i Mitigation: TLS Protocols (Minskning: TLS-protokoll). | .NET framework 4.6 |
Switch.System.Net. DontEnableSystemDefaultTlsVersions |
Inaktiverar SystemDefault TLS-versioner som återgår till standardvärdet Tls12, Tls11, Tls. | .NET Framework 4.7 |
Switch.System.Net. DontEnableTlsAlerts |
Inaktiverar SslStream TLS-aviseringar på serversidan. | .NET Framework 4.7 |
Switch.System.Runtime.InteropServices. DoNotMarshalOutByrefSafeArrayOnInvoke |
Styr om ByRef SafeArray-parametrar på COM interop events marshal tillbaka till intern kod (false ) eller om marshalling tillbaka till intern kod är inaktiverat (true ). |
.NET Framework 4.8 |
Switch.System.Runtime.Serialization. DoNotUseECMAScriptV6EscapeControlCharacter |
Styr om DataContractJsonSerializer serialiserar vissa kontrolltecken baserat på ECMAScript V6- och V8-standarderna. Mer information finns i Mitigation: Serialization of Control Characters with the DataContractJsonSerializer (Minskning: Serialisering av kontrolltecken med DataContractJsonSerializer) | .NET Framework 4.7 |
Switch.System.Runtime.Serialization. DoNotUseTimeZoneInfo |
Styr om stöder DataContractJsonSerializer flera justeringar eller endast en enda justering för en tidszon. Om true använder den TimeZoneInfo typen för att serialisera och deserialisera datum- och tidsdata. Annars använder den TimeZone typen, som inte stöder flera justeringsregler. |
.NET Framework 4.6.2 |
Switch.System.Runtime.Serialization.UseNewMaxArraySize |
Styr om System.Runtime.Serialization.ObjectManager en större matrisstorlek används under objektserialisering och deserialisering. Ange den här växeln för true att förbättra prestanda för serialisering och deserialisering av stora objektdiagram efter typer som BinaryFormatter. |
.NET Framework 4.7.2 |
Switch.System.Security.ClaimsIdentity. SetActorAsReferenceWhenCopyingClaimsIdentity |
Styr om ClaimsIdentity(IIdentity) konstruktorn anger det nya objektets ClaimsIdentity.Actor egenskap med en befintlig objektreferens. Mer information finns i Mitigation: ClaimsIdentity Constructor (Minskning: AnspråkIdentitetskonstruktor). | .NET Framework 4.6.2 |
Switch.System.Security.Cryptography. AesCryptoServiceProvider.DontCorrectlyResetDecryptor |
Styr om försöket att återanvända en AesCryptoServiceProvider dekryptering genererar en CryptographicException. Mer information finns i AesCryptoServiceProvider decryptor tillhandahåller en återanvändbar transformering. | .NET Framework 4.6.2 |
Switch.System.Security.Cryptography. DoNotAddrOfCspParentWindowHandle |
Styr om värdet för egenskapen CspParameters.ParentWindowHandle är en IntPtr som representerar minnesplatsen för ett fönsterhandtag eller om det är ett fönsterhandtag (en HWND). Mer information finns i Mitigation: CspParameters.ParentWindowHandle Förväntar sig en HWND. | .NET Framework 4.7 |
Switch.System.Security.Cryptography. UseLegacyFipsThrow |
Styr om användningen av hanterade kryptografiklasser i FIPS-läge genererar en CryptographicException (true ) eller förlitar sig på implementeringen av systembibliotek (false ). |
.NET Framework 4.8 |
Switch.System.Security.Cryptography.Pkcs. UseInsecureHashAlgorithms |
Avgör om standardvärdet för vissa SigneradeCMS-åtgärder är SHA1 eller SHA256. På grund av kollisionsproblem med SHA1 rekommenderar Microsoft SHA256. |
.NET Framework 4.7.1 |
Switch.System.Security.Cryptography.X509Certificates. ECDsaCertificateExtensions.UseLegacyPublicKeyReader |
Styr om ECDsaCertificateExtensions.GetECDsaPublicKey metoden korrekt hanterar alla namngivna kurvor som stöds av operativsystemet (false ) eller återgår till äldre beteende. |
.NET Framework 4.8 |
Switch.System.Security.Cryptography.Xml. UseInsecureHashAlgorithms |
Avgör om standardvärdet för vissa SignedXML-åtgärder är SHA1 eller SHA256. På grund av kollisionsproblem med SHA1 rekommenderar Microsoft SHA256. |
.NET Framework 4.7.1 |
Switch.System.ServiceModel. AllowUnsignedToHeader |
Avgör om TransportWithMessageCredential säkerhetsläget tillåter meddelanden med en osignerad "till"-rubrik. Det här är en opt-in-växel. Mer information finns i Körningsändringar i .NET Framework 4.6.1. |
.NET Framework 4.6.1 |
Switch.System.ServiceModel. DisableAddressHeaderCollectionValidation > |
Styr om AddressHeaderCollection(IEnumerable<AddressHeader>) konstruktorn genererar ett ArgumentException om ett av elementen är null . |
.NET Framework 4.7.1 |
Switch.System.IdentityModel. DisableCngCertificates |
Avgör om försöket att använda X509-certifikat med en CSG-nyckellagringsprovider genererar ett undantag. Mer information finns i WCF-transportsäkerhet stöder certifikat som lagras med CNG. | .NET Framework 4.6.1 |
Switch.System.ServiceModel. DisableExplicitConnectionCloseHeader |
När du använder HTTP-transporten med en lokalt installerad tjänst gör det här värdet att true WCF ignorerar ett program som lägger Connection: close till huvudet i svarshuvudena för en begäran. Om du ställer in det här värdet false på kan du lägga Connection: close till huvudet i svarshuvudena, vilket resulterar i att begärandesocket stängs när ett svar har skickats. |
.NET framework 4.6 |
Switch.System.ServiceModel. DisableOperationContextAsyncFlow |
Hanterar dödlägen som beror på att begränsa instanser av en återaktiveringstjänst till en enda körningstråd i taget. | .NET Framework 4.6.2 |
Switch.System.ServiceModel. DisableUsingServicePointManagerSecurityProtocols |
Tillsammans med Switch.System.Net.DontEnableSchUseStrongCrypto avgör om WCF-meddelandesäkerhet använder TLS 1.1 och TLS 1.2. |
.NET Framework 4.7 |
Switch.System.ServiceModel. DontEnableSystemDefaultTlsVersions |
false Värdet anger standardkonfigurationen så att operativsystemet kan välja protokoll. Ett värde för true anger standardvärdet till det högsta tillgängliga protokollet. (Finns även på servicegrenen för tidigare ramverksversioner) |
.NET Framework 4.7.1 |
Switch.System.ServiceModel. UseSha1InMsmqEncryptionAlgorithm |
Avgör om standardalgoritmen för meddelandesignering för MSMQ-meddelanden i WCF är SHA1 eller SHA256. På grund av kollisionsproblem med SHA1 rekommenderar Microsoft SHA256. |
.NET Framework 4.7.1 |
Switch.System.ServiceModel. UseSha1InPipeConnectionGetHashAlgorithm |
Styr om WCF använder en SHA1- eller SHA256-hash för att generera slumpmässiga namn för namngivna pipes. På grund av kollisionsproblem med SHA1 rekommenderar Microsoft SHA256. |
.NET Framework 4.7.1 |
Switch.System.ServiceModel.Internals IncludeNullExceptionMessageInETWTrace |
Styr om ett NullReferenceException ska utlösas när undantagsmeddelandet är null. | .NET Framework 4.7 |
Switch.System.ServiceProcess. DontThrowExceptionsOnStart |
Styr om undantag som utlöses vid tjänststart sprids till anroparen för ServiceBase.Run metoden. | .NET Framework 4.7.1 |
Switch.System.Threading.UseNetCoreTimer |
Styr om Timer instanser drar nytta av prestandaförbättringar för storskaliga miljöer. Om true är prestandaförbättringarna aktiverade. Om false (standardvärdet) inaktiveras de. |
.NET Framework 4.8 |
Switch.System.Uri. DontEnableStrictRFC3986ReservedCharacterSets |
Avgör om vissa procentkodade tecken som ibland avkodades nu konsekvent lämnas kodade. Om true , de avkodas, annars , false . |
.NET Framework 4.7.2 |
Switch.System.Uri. DontKeepUnicodeBidiFormattingCharacters |
Avgör hanteringen av dubbelriktade Unicode-tecken i URI:er. true för att ta bort dem från URI:er; false för att bevara och procentkoda dem. |
.NET Framework 4.7.2 |
Switch.System.Windows.Controls.Grid. StarDefinitionsCanExceedAvailableSpace |
Avgör om Windows Presentation Foundation använder en gammal algoritm (true ) eller en ny algoritm (false ) för att allokera utrymme till *-kolumner. Mer information finns i Mitigation: Grid Control's Space Allocation to Star-columns (Åtgärd: Rutnätskontrolls utrymmesallokering till star-kolumner). |
.NET Framework 4.7 |
Switch.System.Windows.Controls.TabControl. SelectionPropertiesCanLagBehindSelectionChangedEvent |
Styr om en väljare eller en flikkontroll alltid uppdaterar värdet för den valda värdeegenskapen innan markeringshändelsen ändras. | .NET Framework 4.7.1 |
Switch.System.Windows.Controls.Text. UseAdornerForTextboxSelectionRendering |
Avgör om icke-Adorner-baserad markeringsrendering är tillgänglig för kontrollerna och för TextBox att förhindra occluded text (false ), eller om text endast återges i Adorner-lagret (true ).PasswordBox |
.NET Framework 4.7.2 |
Switch.System.Windows.Data.Binding. IListIndexerHidesCustomIndexer |
Styr om anpassade IList-indexerare används felaktigt (true ) eller korrekt (false ) av System.Windows.Data.Binding klassen. |
.NET Framework 4.8 |
Switch.System.Windows.DoNotScaleForDpiChanges |
Avgör om DPI-ändringar sker per system (värdet false ) eller per övervakare (värdet true ). |
.NET Framework 4.6.2 |
Switch.System.Windows. DoNotUsePresentationDpiCapabilityTier2OrGreater |
Styr om förbättringar i storleksändring av kontroller i en System.Windows.Interop.HwndHost när WPF körs i läget för övervakningsmedvetenhet är inaktiverat (true ) eller aktiverat (false ). |
.NET Framework 4.8 |
Switch.System.Windows.Forms. DisconnectUiaProvidersOnWmDestroy |
Styr om leverantörer kopplas från när motsvarande kontrollfönster förstörs (true ) eller inte (false ). Den här växeln ger en anmälning till en prestandakorrigering för att åtgärda en läcka av IRawElementProviderSimple objekt. |
.NET Framework 4.8 |
Switch.System.Windows.Forms. DomainUpDown.UseLegacyScrolling |
Avgör om utvecklaren behöver hantera DomainUpDown.UpButton() åtgärden särskilt när kontrolltexten finns. true för att hantera UpButton() åtgärden, false för DomainUpDown.UpButton() att åtgärderna och DomainUpDown.DownButton() ska vara korrekt synkroniserade. |
.NET Framework 4.7.2 |
Switch.System.Windows.Forms. DontSupportReentrantFilterMessage |
Avregistrerar sig från koden som gör att en anpassad IMessageFilter.PreFilterMessage implementering på ett säkert sätt kan filtrera meddelanden utan att utlösa ett undantag när Application.FilterMessage metoden anropas. Mer information finns i Mitigation: Custom IMessageFilter.PreFilterMessage Implementations (Åtgärd: Anpassade IMessageFilter.PreFilterMessage-implementeringar). | .NET Framework 4.6.1 |
Switch.System.Windows.Forms. UseLegacyContextMenuStripSourceControlValue |
Avgör om ContextMenuStrip.SourceControl egenskapen returnerar källkontrollen när användaren öppnar menyn från en kapslad ToolStripMenuItem kontroll. true för att returnera null , det äldre beteendet, false för att returnera källkontrollen. |
.NET Framework 4.7.2 |
Switch.System.Windows.Forms.UseLegacyToolTipDisplay |
Styr om stöd för knappbeskrivningsanrop är inaktiverat (true ) eller aktiverat (false ). Aktivering av stöd för knappbeskrivningsanrop kräver också äldre hjälpmedelsfunktioner som definieras av Switch.UseLegacyAccessibilityFeatures , Switch.UseLegacyAccessibilityFeatures.2 och Switch.UseLegacyAccessibilityFeatures.3 alla inaktiveras (inställt på false ). |
.NET Framework 4.8 |
Switch.System.Windows.Input.Stylus. EnablePointerSupport |
Avgör om en valfri WM_POINTER -baserad touch/stylus-stack är aktiverad i WPF-program. Mer information finns i Mitigation: Pointer-based Touch and Stylus Support |
.NET Framework 4.7 |
Switch.System.Windows.Markup. DoNotUseSha256ForMarkupCompilerChecksumAlgorithm |
Avgör om standardhashalgoritmen som används för kontrollsummor är SHA256 (false ) eller SHA1 (true ).På grund av kollisionsproblem med SHA1 rekommenderar Microsoft SHA256. |
.NET Framework 4.7.2 |
Switch.System.Windows.Media.ImageSourceConverter. OverrideExceptionWithNullReferenceException |
Styr om en äldre NullReferenceException genereras i stället för undantaget som mer specifikt anger orsaken till undantaget (till exempel en DirectoryNotFoundException eller en FileNotFoundException. Den är avsedd för användning med kod som är beroende av hantering av NullReferenceException. | .NET Framework 4.7 |
Switch.System.Workflow.ComponentModel. UseLegacyHashForXomlFileChecksum |
Styr om kontrollsummashashing av XOML-filer i arbetsflödesprojektversioner använder MD5-algoritmen (true ), eller om de använder SHA256-algoritmen som introducerades som standard i .NET Framework 4.8.På grund av kollisionsproblem med MD5 rekommenderar Microsoft SHA256. |
.NET Framework 4.8 |
Switch.System.Workflow.Runtime. UseLegacyHashForSqlTrackingCacheKey |
Styr om checksum hashing av SqlTrackingService använder MD5-algoritmen (true ) för cachelagrade strängar, eller om den använder SHA256-algoritmen som introducerades som standard i .NET Framework 4.8.På grund av kollisionsproblem med MD5 rekommenderar Microsoft SHA256. |
.NET Framework 4.8 |
Switch.System.Workflow.Runtime. UseLegacyHashForWorkflowDefinitionDispenserCacheKey |
Styr om kontrollsummashashing av Workflow Runtime använder MD5-algoritmen (true ) för cachelagrade arbetsflödesdefinitioner, eller om den använder SHA256-algoritmen som introducerades som standard i .NET Framework 4.8.På grund av kollisionsproblem med MD5 rekommenderar Microsoft SHA256. |
.NET Framework 4.8 |
Switch.UseLegacyAccessibilityFeatures |
Styr om tillgängliga hjälpmedelsfunktioner som börjar med .NET Framework 4.7.1 är aktiverade eller inaktiverade. | .NET Framework 4.7.1 |
Switch.UseLegacyAccessibilityFeatures.2 |
Styr om hjälpmedelsfunktioner som är tillgängliga i .NET Framework 4.7.2 är aktiverade (false ) eller inaktiverade (true ). Om true måste också Switch.UseLegacyAccessibilityFeatures vara true för att aktivera hjälpmedelsfunktioner för .NET Framework 4.7.1. |
.NET Framework 4.7.2 |
Switch.UseLegacyAccessibilityFeatures.3 |
Styr om hjälpmedelsfunktioner som introduceras i .NET Framework 4.8 är aktiverade (false ) eller inaktiverade (true ). Om true , Switch.UseLegacyAccessibilityFeatures och Switch.UseLegacyAccessibilityFeatures.2 måste också vara true . |
.NET Framework 4.8 |
Switch.UseLegacyToolTipDisplay |
Styr om knappbeskrivningar visas när en användare hovrar musmarkören över en WPF-kontroll (true ), eller om de visas både i tangentbordsfokus och via kortkommandotangenten (false standardbeteendet). För program som körs på .NET Framework 4.8 men som riktar sig mot tidigare versioner av .NET Framework, krävs att Switch.UseLegacyAccessibilityFeatures , och Switch.UseLegacyAccessibilityFeatures.3 alla är inställda på false för Switch.UseLegacyAccessibilityFeatures.2 att aktivera både tangentbordsfokus och kortkommandostöd. |
.NET Framework 4.8 |
Switch.System.Xml. IgnoreEmptyKeySequences |
Styr om tomma nyckelsekvenser i sammansatta nycklar ignoreras av XSD-schemavalidering. Mer information finns i Åtgärd: XML-schemaverifiering. | .NET framework 4.6 |
Kommentar
I stället för att lägga till ett AppContextSwitchOverrides
element i en programkonfigurationsfil kan du även ange växlar programmatiskt genom att anropa AppContext.SetSwitch metoden.
Biblioteksutvecklare kan också definiera anpassade växlar så att anropare kan välja bort ändrade funktioner som introduceras i senare versioner av deras bibliotek. Mer information finns i AppContext klassen .
Växlar i ASP.NET appar
Du kan konfigurera ett ASP.NET program att använda kompatibilitetsinställningar genom att lägga till ett <Lägg till-element> i <avsnittet appSettings> i filen web.config.
I följande exempel används elementet <add>
för att lägga till två inställningar i <appSettings>
avsnittet i en web.config-fil:
<appSettings>
<add key="AppContext.SetSwitch:Switch.System.Globalization.NoAsyncCurrentCulture" value="true" />
<add key="AppContext.SetSwitch:Switch.System.Uri.DontEnableStrictRFC3986ReservedCharacterSets" value="true" />
</appSettings>
Exempel
I följande exempel används elementet AppContextSwitchOverrides
för att definiera en enda programkompatibilitetsväxel, , Switch.System.Globalization.NoAsyncCurrentCulture
som förhindrar att kulturen flödar över trådar i asynkrona metodanrop.
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.Globalization.NoAsyncCurrentCulture=true" />
</runtime>
</configuration>
I följande exempel används elementet AppContextSwitchOverrides
för att definiera två programkompatibilitetsväxlar och Switch.System.Globalization.NoAsyncCurrentCulture
Switch.System.IO.BlockLongPaths
. Ett semikolon separerar de två namn/värde-paren.
<configuration>
<runtime>
<AppContextSwitchOverrides
value="Switch.System.Globalization.NoAsyncCurrentCulture=true;Switch.System.IO.BlockLongPaths=true" />
</runtime>
</configuration>