<Het element AppContextSwitchOverrides>

Definieert een of meer switches die door de AppContext klasse worden gebruikt om een opt-outmechanisme voor nieuwe functionaliteit te bieden.

<configuratie>
  <Runtime>
    <AppContextSwitchOverrides>

Syntaxis

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

Kenmerken en elementen

In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven.

Kenmerken

Kenmerk Beschrijving
value Vereist. Definieert een of meer schakelnamen en de bijbehorende Booleaanse waarden.

waardekenmerk

Weergegeven als Beschrijving
"name=value" Een vooraf gedefinieerde switchnaam samen met de waarde (true of false). Meerdere switchnaam-/waardeparen worden gescheiden door puntkomma's (";"). Zie de sectie Opmerkingen voor een lijst met vooraf gedefinieerde switchnamen die worden ondersteund door .NET Framework.

Onderliggende elementen

Geen.

Bovenliggende elementen

Element Beschrijving
configuration Het hoofdelement in elk configuratiebestand dat wordt gebruikt door de algemene taalruntime en .NET Framework-toepassingen.
runtime Bevat informatie over opties voor runtime-initialisatie.

Opmerkingen

Vanaf .NET Framework 4.6 kunnen bellers van een API met het <AppContextSwitchOverrides> element in een configuratiebestand bepalen of hun app kan profiteren van nieuwe functionaliteit of compatibiliteit met eerdere versies van een bibliotheek behouden. Als het gedrag van een API bijvoorbeeld is gewijzigd tussen twee versies van een bibliotheek, <AppContextSwitchOverrides> kunnen bellers van die API zich afmelden voor het nieuwe gedrag van versies van de bibliotheek die ondersteuning bieden voor de nieuwe functionaliteit. Voor apps die API's aanroepen in .NET Framework, kan het <AppContextSwitchOverrides> element ook bellers toestaan waarvan de apps zijn gericht op een eerdere versie van .NET Framework om zich voor te kiezen voor nieuwe functionaliteit als hun app wordt uitgevoerd op een versie van .NET Framework die die functionaliteit bevat.

Het value kenmerk van het <AppContextSwitchOverrides> element bestaat uit één tekenreeks die bestaat uit een of meer door puntkomma's gescheiden naam-/waardeparen. Elke naam identificeert een compatibiliteitsswitch en de bijbehorende waarde is een Booleaanse waarde (true of false) die aangeeft of de switch is ingesteld. De switch is standaard falseen bibliotheken bieden de nieuwe functionaliteit. Ze bieden alleen de vorige functionaliteit als de switch is ingesteld (dat wil gezegd: de waarde ervan).true Hierdoor kunnen bibliotheken nieuw gedrag bieden voor een bestaande API, terwijl bellers die afhankelijk zijn van het vorige gedrag, zich kunnen afmelden voor de nieuwe functionaliteit.

.NET Framework ondersteunt de volgende switches:

Switch name Beschrijving Geïntroduceerd
Switch.MS.Internal.
DoNotApplyLayoutRoundingToMarginsAndBorderThickness
Hiermee bepaalt u of Windows Presentation Foundation gebruikmaakt van een verouderd algoritme voor de besturingselementindeling. Zie Risicobeperking: WPF-indeling voor meer informatie. .NET framework 4.6
Switch.MS.Internal.
UseSha1AsDefaultHashAlgorithmForDigitalSignatures
Hiermee bepaalt u of het standaardalgoritme dat wordt gebruikt voor het ondertekenen van onderdelen van een pakket door PackageDigitalSignatureManager SHA1 of SHA256 is.
Vanwege conflictproblemen met SHA1 raadt Microsoft SHA256 aan.
.NET Framework 4.7.1
Switch.System.Activities.
UseMD5CryptoServiceProviderForWFDebugger
Wanneer deze optie is ingesteld false, kunt u foutopsporing van op XAML gebaseerde werkstroomprojecten met Visual Studio toestaan wanneer FIPS is ingeschakeld. Zonder dit wordt een NullReferenceException aanroep naar methoden in de assembly System.Activities gegenereerd. .NET Framework 4.7
Switch.System.Activities.
UseMD5ForWFDebugger
Hiermee bepaalt u of de controlesom voor een werkstroomexemplaren in het foutopsporingsprogramma MD5 of SHA1 gebruikt. .NET Framework 4.7
Switch.System.Activities.
UseSHA1HashForDebuggerSymbols
Hiermee bepaalt u of de hashing van werkstroomcontroles gebruikmaakt van het SHA1-algoritme dat is geïntroduceerd als de standaardwaarde in .NET Framework 4.7 (true), of dat het standaard SHA256-algoritme gebruikt dat als standaardalgoritme is geïntroduceerd in .NET Framework 4.8 (false).
Vanwege conflictproblemen met SHA1 raadt Microsoft SHA256 aan.
.NET Framework 4.8
Switch.System.Diagnostics.
IgnorePortablePDBsInStackTraces
Hiermee bepaalt u of stacktraceringen worden verkregen bij het gebruik van draagbare PDF-bestanden en regelgegevens. false om bronbestands- en regelgegevens op te nemen; anders, true. .NET Framework 4.7.2
Switch.System.Drawing.
DontSupportPngFramesInIcons
Hiermee bepaalt u of de Icon.ToBitmap methode een uitzondering genereert wanneer een Icon object PNG-frames bevat. Zie Risicobeperking: PNG-frames in pictogramobjecten voor meer informatie. .NET framework 4.6
Switch.System.Drawing.Text.
DoNotRemoveGdiFontsResourcesFromFontCollection
Bepaalt of System.Drawing.Text.PrivateFontCollection objecten correct worden verwijderd wanneer ze door de PrivateFontCollection.AddFontFile(String) methode aan de verzameling worden toegevoegd. true om het verouderde gedrag te behouden; false om alle persoonlijke lettertypeobjecten te verwijderen. .NET Framework 4.7.2
Switch.System.Drawing.Printing.
OptimizePrintPreview
Hiermee bepaalt u of de prestaties van de PrintPreviewDialog printers zijn geoptimaliseerd voor netwerkprinters. Zie het overzicht van het besturingselement PrintPreviewDialog voor meer informatie. .NET framework 4.6
Switch.System.Globalization.EnforceJapaneseEraYearRanges Hiermee bepaalt u of jaarbereikcontroles voor Japanse kalendertijdperken worden afgedwongen. true om jaarbereikcontroles af te dwingen en false uit te schakelen (het standaardgedrag). Zie Werken met agenda's voor meer informatie. .NET framework 4.6
Switch.System.Globalization.EnforceLegacyJapaneseDateParsing Hiermee bepaalt u of slechts '1' wordt herkend als het eerste jaar van een Japans kalendertijdperk in parseringsbewerkingen. true om slechts "1" te herkennen; false om '1' of Gannen te herkennen (het standaardgedrag). Zie Werken met agenda's voor meer informatie. .NET framework 4.6
Switch.System.Globalization.FormatJapaneseFirstYearAsANumber Hiermee bepaalt u of het eerste jaar van een Japans kalendertijdperk wordt weergegeven als '1' of Gannen in opmaakbewerkingen. true om het eerste jaar van het tijdperk op te maken als "1"; false om deze op te maken als Gannen (het standaardgedrag). Zie Werken met agenda's voor meer informatie. .NET framework 4.6
Switch.System.Globalization.NoAsyncCurrentCulture Hiermee bepaalt u of asynchrone bewerkingen niet vanuit de context van de aanroepende thread stromen. Zie de stroom CurrentCulture en CurrentUICulture voor meer informatie over taken. .NET framework 4.6
Switch.System.IdentityModel.
DisableMultipleDNSEntriesInSANCertificate
Hiermee bepaalt u of de X509CertificateClaimSet.FindClaims methode alleen probeert overeen te komen met het claimtype met de laatste DNS-vermelding. Zie Mitigation: X509CertificateClaimSet.FindClaims Method voor meer informatie. .NET Framework 4.6.1
Switch.System.IdentityModel.
EnableCachedEmptyDefaultAuthorizationContext
Hiermee bepaalt u of AuthorizationContext.Empty een veranderlijk object retourneert. .NET framework 4.6
Switch.System.IO.BlockLongPaths Hiermee bepaalt u of paden die langer zijn dan MAX_PATH (260 tekens) een PathTooLongException. Zie Long Path Support voor meer informatie. .NET Framework 4.6.2
Switch.System.IO.Compression.
DoNotUseNativeZipLibraryForDecompression
Hiermee bepaalt u of systeemeigen besturingssysteemroutines door de DeflateStream klasse worden gebruikt voor decompressie. false systeemeigen API's gebruiken; true om de DeflateStream implementatie te gebruiken. .NET Framework 4.7.2
Switch.System.IO.Compression.ZipFile.
UseBackslash
Gebruikt de backslash ("\") in plaats van de slash ("/") als het padscheidingsteken in de ZipArchiveEntry.FullName eigenschap. Zie Mitigation: ZipArchiveEntry.FullName Path Separator voor meer informatie. .NET Framework 4.6.1
Switch.System.IO.Ports.
DoNotCatchSerialStreamThreadExceptions
Hiermee bepaalt u of uitzonderingen van het besturingssysteem die worden gegenereerd op achtergrondthreads die zijn gemaakt met SerialPort streams, het proces beëindigen. .NET Framework 4.7.1
Switch.System.IO.
UseLegacyPathHandling
Hiermee bepaalt u of verouderde padnormalisatie wordt gebruikt en URI-paden worden ondersteund door de Path.GetDirectoryName en Path.GetPathRoot methoden. Zie Risicobeperking: Padnormalisatie en Risicobeperking: Controles van padkomma's voor meer informatie. .NET Framework 4.6.2
Switch.System.
MemberDescriptorEqualsReturnsFalseIfEquivalent
Hiermee bepaalt u of een test voor gelijkheid de MemberDescriptor.Category eigenschap van één object vergelijkt met de MemberDescriptor.Description eigenschap van het tweede object. Zie Onjuiste implementatie van MemberDescriptor.Equals voor meer informatie. .NET Framework 4.6.2
Switch.System.Net.
DontCheckCertificateEKUs
Schakelt de validatie van certificaat enhanced key usage (EKU)-object-id (OID) uit. Een uitbreiding voor uitgebreid sleutelgebruik (EKU) is een verzameling object-id's (OID's) die de toepassingen aangeven die gebruikmaken van de sleutel. .NET framework 4.6
Switch.System.Net.
DontEnableSchSendAuxRecord
Hiermee schakelt u TLS1.0 Browser Exploit Against SSL/TLS (BEAST) risicobeperking uit door het gebruik van SCH_SEND_AUX_RECORD uit te schakelen. .NET framework 4.6
Switch.System.Net.
DontEnableSchUseStrongCrypto
Hiermee bepaalt u of de System.Net.ServicePointManager en System.Net.Security.SslStream klassen het SSL 3.0-protocol kunnen gebruiken. Zie Risicobeperking: TLS-protocollen voor meer informatie. .NET framework 4.6
Switch.System.Net.
DontEnableSystemDefaultTlsVersions
Schakelt SystemDefault TLS-versies terug naar een standaard tls12, Tls11, Tls. .NET Framework 4.7
Switch.System.Net.
DontEnableTlsAlerts
Hiermee schakelt u waarschuwingen aan de serverzijde van SslStream TLS uit. .NET Framework 4.7
Switch.System.Runtime.InteropServices.
DoNotMarshalOutByrefSafeArrayOnInvoke
Hiermee bepaalt u of byRef SafeArray-parameters op COM-interop-gebeurtenissen marshal teruggaan naar systeemeigen code (false) of het marshallen naar systeemeigen code is uitgeschakeld (true). .NET Framework 4.8
Switch.System.Runtime.Serialization.
DoNotUseECMAScriptV6EscapeControlCharacter
Hiermee bepaalt u of de DataContractJsonSerializer bepaalde besturingstekens serialiseert op basis van de ECMAScript V6- en V8-standaarden. Zie Risicobeperking: Serialisatie van besturingstekens met de DataContractJsonSerializer voor meer informatie .NET Framework 4.7
Switch.System.Runtime.Serialization.
DoNotUseTimeZoneInfo
Hiermee bepaalt u of het DataContractJsonSerializer meerdere aanpassingen of slechts één aanpassing voor een tijdzone ondersteunt. Als true, wordt het TimeZoneInfo type gebruikt om datum- en tijdgegevens te serialiseren en deserialiseren; anders wordt het TimeZone type gebruikt, dat geen ondersteuning biedt voor meerdere aanpassingsregels. .NET Framework 4.6.2
Switch.System.Runtime.Serialization.UseNewMaxArraySize Hiermee bepaalt u of System.Runtime.Serialization.ObjectManager er een grotere matrixgrootte wordt gebruikt tijdens objectserialisatie en deserialisatie. Stel deze schakeloptie in om true de prestaties van serialisatie en deserialisatie van grote objectgrafieken te verbeteren op basis van typen, zoals BinaryFormatter. .NET Framework 4.7.2
Switch.System.Security.ClaimsIdentity.
SetActorAsReferenceWhenCopyingClaimsIdentity
Hiermee bepaalt u of de ClaimsIdentity(IIdentity) constructor de eigenschap van ClaimsIdentity.Actor het nieuwe object instelt met een bestaande objectverwijzing. Zie Mitigation: ClaimsIdentity Constructor voor meer informatie. .NET Framework 4.6.2
Switch.System.Security.Cryptography.
AesCryptoServiceProvider.DontCorrectlyResetDecryptor
Bepaalt of de poging om een decryptor opnieuw te gebruiken een AesCryptoServiceProviderCryptographicException. Zie AesCryptoServiceProvider decryptor biedt een herbruikbare transformatie voor meer informatie. .NET Framework 4.6.2
Switch.System.Security.Cryptography.
DoNotAddrOfCspParentWindowHandle
Hiermee bepaalt u of de waarde van de eigenschap CspParameters.ParentWindowHandle een IntPtr is die de geheugenlocatie van een venstergreep vertegenwoordigt of of het een venstergreep (een HWND) is. Zie Mitigation: CspParameters.ParentWindowHandle Verwacht een HWND voor meer informatie. .NET Framework 4.7
Switch.System.Security.Cryptography.
UseLegacyFipsThrow
Hiermee bepaalt u of het gebruik van beheerde cryptografieklassen in de FIPS-modus een CryptographicException (true) genereert of afhankelijk is van de implementatie van systeembibliotheken (false). .NET Framework 4.8
Switch.System.Security.Cryptography.Pkcs.
UseInsecureHashAlgorithms
Bepaalt of de standaardinstelling voor sommige OndertekendeCMS-bewerkingen SHA1 of SHA256 is.
Vanwege conflictproblemen met SHA1 raadt Microsoft SHA256 aan.
.NET Framework 4.7.1
Switch.System.Security.Cryptography.X509Certificates.
ECDsaCertificateExtensions.UseLegacyPublicKeyReader
Hiermee bepaalt u of met de ECDsaCertificateExtensions.GetECDsaPublicKey methode alle benoemde curven die worden ondersteund door het besturingssysteem (false) correct worden verwerkt of wordt teruggezet naar verouderd gedrag. .NET Framework 4.8
Switch.System.Security.Cryptography.Xml.
UseInsecureHashAlgorithms
Bepaalt of de standaardinstelling voor sommige SignedXML-bewerkingen SHA1 of SHA256 is.
Vanwege conflictproblemen met SHA1 raadt Microsoft SHA256 aan.
.NET Framework 4.7.1
Switch.System.ServiceModel.
AllowUnsignedToHeader
Bepaalt of de TransportWithMessageCredential beveiligingsmodus berichten met een niet-ondertekende koptekst toestaat. Dit is een opt-in-switch. Zie Runtimewijzigingen in .NET Framework 4.6.1 voor meer informatie. .NET Framework 4.6.1
Switch.System.ServiceModel.
DisableAddressHeaderCollectionValidation>
Hiermee bepaalt u of de AddressHeaderCollection(IEnumerable<AddressHeader>) constructor een ArgumentException if van de elementen nullgenereert. .NET Framework 4.7.1
Switch.System.IdentityModel.
DisableCngCertificates
Bepaalt of de poging om X509-certificaten te gebruiken met een CSG-sleutelopslagprovider een uitzondering genereert. Zie WCF-transportbeveiliging biedt ondersteuning voor certificaten die zijn opgeslagen met CNG voor meer informatie. .NET Framework 4.6.1
Switch.System.ServiceModel.
DisableExplicitConnectionCloseHeader
Wanneer u het HTTP-transport gebruikt met een zelf-hostende service, stelt u deze waarde in zodat true WCF een toepassing negeert die de Connection: close header toevoegt aan de antwoordheaders voor een aanvraag. Als u deze waarde instelt om false de Connection: close header toe te voegen aan de antwoordheaders, wat resulteert in het sluiten van de aanvraagsocket nadat een antwoord is verzonden. .NET framework 4.6
Switch.System.ServiceModel.
DisableOperationContextAsyncFlow
Hiermee worden impasses verwerkt die het gevolg zijn van het beperken van exemplaren van een re-entrant-service tot één thread van uitvoering tegelijk. .NET Framework 4.6.2
Switch.System.ServiceModel.
DisableUsingServicePointManagerSecurityProtocols
Samen met Switch.System.Net.DontEnableSchUseStrongCrypto, bepaalt of WCF-berichtbeveiliging TLS 1.1 en TLS 1.2 gebruikt. .NET Framework 4.7
Switch.System.ServiceModel.
DontEnableSystemDefaultTlsVersions
Een waarde van het instellen van false de standaardconfiguratie zodat het besturingssysteem het protocol kan kiezen. Met een waarde wordt true de standaardwaarde ingesteld op het hoogste protocol dat beschikbaar is. (Ook beschikbaar op de servicebranch van eerdere frameworkversies) .NET Framework 4.7.1
Switch.System.ServiceModel.
UseSha1InMsmqEncryptionAlgorithm
Bepaalt of het standaardalgoritme voor berichtondertekening voor MSMQ-berichten in WCF SHA1 of SHA256 is.
Vanwege conflictproblemen met SHA1 raadt Microsoft SHA256 aan.
.NET Framework 4.7.1
Switch.System.ServiceModel.
UseSha1InPipeConnectionGetHashAlgorithm
Hiermee bepaalt u of WCF gebruikmaakt van een SHA1- of SHA256-hash om willekeurige namen voor benoemde pijpen te genereren.
Vanwege conflictproblemen met SHA1 raadt Microsoft SHA256 aan.
.NET Framework 4.7.1
Switch.System.ServiceModel.Internals
IncludeNullExceptionMessageInETWTrace
Hiermee bepaalt u of een NullReferenceException moet worden gegenereerd wanneer het uitzonderingsbericht null is. .NET Framework 4.7
Switch.System.ServiceProcess.
DontThrowExceptionsOnStart
Hiermee bepaalt u of uitzonderingen die zijn opgetreden bij het opstarten van de service, worden doorgegeven aan de aanroeper van de ServiceBase.Run methode. .NET Framework 4.7.1
Switch.System.Threading.UseNetCoreTimer Hiermee bepaalt u of Timer exemplaren profiteren van prestatieverbeteringen voor grootschalige omgevingen. Als true, de prestatieverbeteringen zijn ingeschakeld; als false (de standaardwaarde), worden ze uitgeschakeld. .NET Framework 4.8
Switch.System.Uri.
DontEnableStrictRFC3986ReservedCharacterSets
Bepaalt of bepaalde procentcodeerde tekens die soms zijn gedecodeerd, nu consistent links worden gelaten. Indientrue, worden ze gedecodeerd; anders. false .NET Framework 4.7.2
Switch.System.Uri.
DontKeepUnicodeBidiFormattingCharacters
Bepaalt de verwerking van Unicode-bidirectionele tekens in URI's. true om ze uit URI's te verwijderen; false om ze te behouden en procent te coderen. .NET Framework 4.7.2
Switch.System.Windows.Controls.Grid.
StarDefinitionsCanExceedAvailableSpace
Bepaalt of Windows Presentation Foundation een oud algoritme (true) of een nieuw algoritme (false) toepast bij het toewijzen van ruimte aan *-columns. Zie Risicobeperking: Ruimtetoewijzing van rasterbesturingselement voor sterkolommen voor meer informatie. .NET Framework 4.7
Switch.System.Windows.Controls.TabControl.
SelectionPropertiesCanLagBehindSelectionChangedEvent
Hiermee bepaalt u of een selector of een tabbesturingselement altijd de waarde van de geselecteerde waarde-eigenschap bijwerken voordat de selectie is gewijzigd. .NET Framework 4.7.1
Switch.System.Windows.Controls.Text.
UseAdornerForTextboxSelectionRendering
Hiermee bepaalt u of selectieweergave op basis van niet-Versiering beschikbaar is voor de TextBox en PasswordBox besturingselementen om occluded tekst (false) te voorkomen of dat tekst alleen wordt weergegeven in de Layer ().true .NET Framework 4.7.2
Switch.System.Windows.Data.Binding.
IListIndexerHidesCustomIndexer
Hiermee bepaalt u of aangepaste IList-indexeerfuncties onjuist (true) of juist (false) door de System.Windows.Data.Binding klasse worden gebruikt. .NET Framework 4.8
Switch.System.Windows.DoNotScaleForDpiChanges Bepaalt of DPI-wijzigingen plaatsvinden per systeem (een waarde van false) of per monitorbasis (een waarde van true). .NET Framework 4.6.2
Switch.System.Windows.
DoNotUsePresentationDpiCapabilityTier2OrGreater
Hiermee bepaalt u of verbeteringen in de grootte van besturingselementen in een System.Windows.Interop.HwndHost wanneer WPF wordt uitgevoerd in de modus voor bewakingsbewuste bewerkingen zijn uitgeschakeld (true) of ingeschakeld (false). .NET Framework 4.8
Switch.System.Windows.Forms.
DisconnectUiaProvidersOnWmDestroy
Hiermee bepaalt u of de verbinding met providers wordt verbroken wanneer het bijbehorende besturingsvenster wordt vernietigd (true) of niet (false). Deze switch biedt een opt-in voor een prestatiefix om een lek van IRawElementProviderSimple objecten aan te pakken. .NET Framework 4.8
Switch.System.Windows.Forms.
DomainUpDown.UseLegacyScrolling
Bepaalt of de ontwikkelaar de DomainUpDown.UpButton() actie speciaal moet afhandelen wanneer er besturingstekst aanwezig is. true om de UpButton() actie af te handelen, false zodat de DomainUpDown.UpButton() acties DomainUpDown.DownButton() correct worden gesynchroniseerd. .NET Framework 4.7.2
Switch.System.Windows.Forms.
DontSupportReentrantFilterMessage
Opt-out van de code waarmee een aangepaste IMessageFilter.PreFilterMessage implementatie berichten veilig kan filteren zonder een uitzondering te genereren wanneer de Application.FilterMessage methode wordt aangeroepen. Zie Mitigation: Custom IMessageFilter.PreFilterMessage Implementations voor meer informatie. .NET Framework 4.6.1
Switch.System.Windows.Forms.
UseLegacyContextMenuStripSourceControlValue
Bepaalt of de ContextMenuStrip.SourceControl eigenschap het bronbesturingselement retourneert wanneer de gebruiker het menu opent vanuit een geneste besturingselement ToolStripMenuItem . true om terug te keren null, het verouderde gedrag; false om het broncodebeheer te retourneren. .NET Framework 4.7.2
Switch.System.Windows.Forms.UseLegacyToolTipDisplay Hiermee bepaalt u of ondersteuning voor aanroepen van knopinfo is uitgeschakeld (true) of ingeschakeld (false). Voor het inschakelen van aanroepen van knopinfo zijn ook verouderde toegankelijkheidsfuncties vereist die zijn gedefinieerd door Switch.UseLegacyAccessibilityFeatures, Switch.UseLegacyAccessibilityFeatures.2en Switch.UseLegacyAccessibilityFeatures.3 alle functies zijn uitgeschakeld (ingesteld op false). .NET Framework 4.8
Switch.System.Windows.Input.Stylus.
EnablePointerSupport
Bepaalt of een optionele WM_POINTERtouch/stylus-stack is ingeschakeld in WPF-toepassingen. Zie Risicobeperking: aanwijzer en stylusondersteuning voor meer informatie .NET Framework 4.7
Switch.System.Windows.Markup.
DoNotUseSha256ForMarkupCompilerChecksumAlgorithm
Bepaalt of het standaardhashalgoritme dat wordt gebruikt voor controlesommen SHA256 (false) of SHA1 (true) is.
Vanwege conflictproblemen met SHA1 raadt Microsoft SHA256 aan.
.NET Framework 4.7.2
Switch.System.Windows.Media.ImageSourceConverter.
OverrideExceptionWithNullReferenceException
Hiermee bepaalt u of een verouderde NullReferenceException wordt gegenereerd in plaats van de uitzondering die specifiek de oorzaak van de uitzondering aangeeft (zoals een DirectoryNotFoundException of een FileNotFoundException. Het is bedoeld voor gebruik door code die afhankelijk is van het verwerken van nullReferenceException. .NET Framework 4.7
Switch.System.Workflow.ComponentModel.
UseLegacyHashForXomlFileChecksum
Hiermee bepaalt u of controlesomhashing van XOML-bestanden in werkstroomprojectversies gebruikmaakt van het MD5-algoritme (true) of dat het SHA256-algoritme wordt gebruikt dat als standaard wordt geïntroduceerd in .NET Framework 4.8.
Vanwege conflictproblemen met MD5 raadt Microsoft SHA256 aan.
.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForSqlTrackingCacheKey
Hiermee bepaalt u of controlesom-hashing door sqlTrackingService gebruikmaakt van het MD5-algoritme (true) voor tekenreeksen in de cache of dat het sha256-algoritme wordt gebruikt dat als standaard wordt geïntroduceerd in .NET Framework 4.8.
Vanwege conflictproblemen met MD5 raadt Microsoft SHA256 aan.
.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForWorkflowDefinitionDispenserCacheKey
Hiermee bepaalt u of controlesomhashing door de workflowruntime gebruikmaakt van het MD5-algoritme (true) voor werkstroomdefinities in de cache of dat het SHA256-algoritme wordt gebruikt dat als de standaardwaarde is geïntroduceerd in .NET Framework 4.8.
Vanwege conflictproblemen met MD5 raadt Microsoft SHA256 aan.
.NET Framework 4.8
Switch.UseLegacyAccessibilityFeatures Hiermee bepaalt u of toegankelijkheidsfuncties die beschikbaar zijn vanaf .NET Framework 4.7.1, zijn ingeschakeld of uitgeschakeld. .NET Framework 4.7.1
Switch.UseLegacyAccessibilityFeatures.2 Hiermee bepaalt u of toegankelijkheidsfuncties die beschikbaar zijn in .NET Framework 4.7.2 zijn ingeschakeld (false) of uitgeschakeld (true). Als trueu Switch.UseLegacyAccessibilityFeatures .NET Framework 4.7.1-toegankelijkheidsfuncties ook true moet inschakelen. .NET Framework 4.7.2
Switch.UseLegacyAccessibilityFeatures.3 Hiermee bepaalt u of toegankelijkheidsfuncties die zijn geïntroduceerd in .NET Framework 4.8 zijn ingeschakeld (false) of uitgeschakeld (true). Als true, Switch.UseLegacyAccessibilityFeatures en Switch.UseLegacyAccessibilityFeatures.2 moet ook zijn true. .NET Framework 4.8
Switch.UseLegacyToolTipDisplay Hiermee bepaalt u of knopinfo wordt weergegeven wanneer een gebruiker de muisaanwijzer boven een WPF-besturingselement beweegt (true), of of deze zowel op de toetsenbordfocus als via de sneltoetsfalse (het standaardgedrag) worden weergegeven. Voor toepassingen die worden uitgevoerd op .NET Framework 4.8, maar die gericht zijn op eerdere versies van .NET Framework, is het inschakelen van zowel toetsenbordfocus als sneltoetsondersteuning vereist dat Switch.UseLegacyAccessibilityFeatures, Switch.UseLegacyAccessibilityFeatures.2en Switch.UseLegacyAccessibilityFeatures.3 alles is ingesteld op false. .NET Framework 4.8
Switch.System.Xml.
IgnoreEmptyKeySequences
Hiermee bepaalt u of lege sleutelreeksen in samengestelde sleutels worden genegeerd door XSD-schemavalidatie. Zie Risicobeperking: XML-schemavalidatie voor meer informatie. .NET framework 4.6

Notitie

In plaats van een AppContextSwitchOverrides element toe te voegen aan een toepassingsconfiguratiebestand, kunt u de schakelopties ook programmatisch instellen door de methode aan te AppContext.SetSwitch roepen.

Bibliotheekontwikkelaars kunnen ook aangepaste switches definiëren, zodat bellers zich kunnen afmelden voor gewijzigde functionaliteit die is geïntroduceerd in latere versies van hun bibliotheken. Zie de AppContext klas voor meer informatie.

Schakelopties in ASP.NET-apps

U kunt een ASP.NET-toepassing configureren om compatibiliteitsinstellingen te gebruiken door een <element toevoegen> aan de< app Instellingen> sectie van het web.config-bestand toe te voegen.

In het volgende voorbeeld wordt het <add> element gebruikt om twee instellingen toe te voegen aan de <appSettings> sectie van een web.config-bestand:

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

Opmerking

In het volgende voorbeeld wordt het AppContextSwitchOverrides element gebruikt om één toepassingscompatibiliteitsswitch te definiëren, Switch.System.Globalization.NoAsyncCurrentCulturewaardoor cultuur niet kan stromen tussen threads in asynchrone methodeaanroepen.

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

In het volgende voorbeeld wordt het AppContextSwitchOverrides element gebruikt om twee schakelopties voor toepassingscompatibiliteit te definiëren, Switch.System.Globalization.NoAsyncCurrentCulture en Switch.System.IO.BlockLongPaths. Een puntkomma scheidt de twee naam-/waardeparen.

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

Zie ook