<Elemento AppContextSwitchOverrides>
Define uma ou mais opções usadas pela AppContext classe para fornecer um mecanismo de exclusão para novas funcionalidades.
<configuração>
<tempo de execução>
<AppContextSwitchOverrides>
Sintaxe
<AppContextSwitchOverrides value="name1=value1[[;name2=value2];...]" />
Atributos e Elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributos
Atributo | Description |
---|---|
value |
Obrigatório. Define um ou mais nomes de switch e seus valores booleanos associados. |
atributo value
valor | Description |
---|---|
"nome=valor" | Um nome de switch predefinido junto com seu valor (true ou false ). Vários pares nome/valor do switch são separados por ponto-e-vírgula (";"). Para obter uma lista de nomes de switch predefinidos suportados pelo .NET Framework, consulte a seção Comentários. |
Elementos Subordinados
Nenhum.
Elementos Principais
Elemento | Description |
---|---|
configuration |
O elemento raiz em cada arquivo de configuração usado pelo Common Language Runtime e aplicativos .NET Framework. |
runtime |
Contém informações sobre opções de inicialização de tempo de execução. |
Observações
A partir do .NET Framework 4.6, o elemento em um arquivo de configuração permite que os chamadores de uma API determinem se seu aplicativo pode aproveitar a nova funcionalidade ou preservar a <AppContextSwitchOverrides>
compatibilidade com versões anteriores de uma biblioteca. Por exemplo, se o comportamento de uma API tiver sido alterado entre duas versões de uma biblioteca, o <AppContextSwitchOverrides>
elemento permitirá que os chamadores dessa API desativem o novo comportamento em versões da biblioteca que ofereçam suporte à nova funcionalidade. Para aplicativos que chamam APIs no .NET Framework, o <AppContextSwitchOverrides>
elemento também pode permitir que chamadores cujos aplicativos se destinam a uma versão anterior do .NET Framework aceitem a nova funcionalidade se seu aplicativo estiver sendo executado em uma versão do .NET Framework que inclua essa funcionalidade.
O value
atributo do elemento consiste em uma única cadeia de <AppContextSwitchOverrides>
caracteres que consiste em um ou mais pares nome/valor delimitados por ponto-e-vírgula. Cada nome identifica uma opção de compatibilidade, e seu valor correspondente é um booleano (true
ou false
) que indica se a opção está definida. Por padrão, a opção é false
, e as bibliotecas fornecem a nova funcionalidade. Eles só fornecem a funcionalidade anterior se o switch estiver definido (ou seja, seu valor for true
). Isso permite que as bibliotecas forneçam um novo comportamento para uma API existente e, ao mesmo tempo, permite que os chamadores que dependem do comportamento anterior desativem a nova funcionalidade.
O .NET Framework suporta as seguintes opções:
Nome do interruptor | Description | Introduzido |
---|---|---|
Switch.MS.Internal. DoNotApplyLayoutRoundingToMarginsAndBorderThickness |
Controla se o Windows Presentation Foundation usa um algoritmo herdado para layout de controle. Para obter mais informações, consulte Mitigação: layout do WPF. | .NET framework 4.6 |
Switch.MS.Internal. UseSha1AsDefaultHashAlgorithmForDigitalSignatures |
Controla se o algoritmo padrão usado para assinar partes de um pacote por PackageDigitalSignatureManager é SHA1 ou SHA256. Devido a problemas de colisão com SHA1, a Microsoft recomenda SHA256. |
.NET Framework 4.7.1 |
Switch.System.Activities. UseMD5CryptoServiceProviderForWFDebugger |
Quando definido como false , permite a depuração de projetos de fluxo de trabalho baseados em XAML com o Visual Studio quando o FIPS está habilitado. Sem ele, um NullReferenceException é lançado em chamadas para métodos no assembly System.Activities. |
.NET Framework 4.7 |
Switch.System.Activities. UseMD5ForWFDebugger |
Controla se a soma de verificação de uma instância de fluxo de trabalho no depurador usa MD5 ou SHA1. | .NET Framework 4.7 |
Switch.System.Activities. UseSHA1HashForDebuggerSymbols |
Controla se o hash de soma de verificação do fluxo de trabalho usa o algoritmo SHA1 introduzido como padrão no .NET Framework 4.7 (true ), ou se usa o algoritmo SHA256 padrão introduzido como padrão no .NET Framework 4.8 (false ).Devido a problemas de colisão com SHA1, a Microsoft recomenda SHA256. |
.NET Framework 4.8 |
Switch.System.Diagnostics. IgnorePortablePDBsInStackTraces |
Controla se os rastreamentos de pilha obtidos ao usar PDBs portáteis podem incluir informações de arquivo e linha de origem. false incluir informações sobre o ficheiro de origem e a linha; caso contrário, true . |
.NET Framework 4.7.2 |
Switch.System.Drawing. DontSupportPngFramesInIcons |
Controla se o Icon.ToBitmap método lança uma exceção quando um Icon objeto tem quadros PNG. Para obter mais informações, consulte Mitigação: quadros PNG em objetos de ícone. | .NET framework 4.6 |
Switch.System.Drawing.Text. DoNotRemoveGdiFontsResourcesFromFontCollection |
Determina se System.Drawing.Text.PrivateFontCollection os PrivateFontCollection.AddFontFile(String) objetos são descartados corretamente quando adicionados à coleção pelo método. true manter o comportamento legado; false para descartar todos os objetos de fonte privados. |
.NET Framework 4.7.2 |
Switch.System.Drawing.Printing. OptimizePrintPreview |
Controla se o PrintPreviewDialog desempenho do é otimizado para impressoras de rede. Para obter mais informações, consulte Visão geral do controle PrintPreviewDialog. | .NET framework 4.6 |
Switch.System.Globalization.EnforceJapaneseEraYearRanges |
Controla se as verificações de intervalo de anos para eras do calendário japonês são impostas. true para impor verificações de intervalo de anos e false desativá-las (o comportamento padrão). Para obter mais informações, consulte Trabalhando com calendários. |
.NET framework 4.6 |
Switch.System.Globalization.EnforceLegacyJapaneseDateParsing |
Controla se apenas "1" é reconhecido como o primeiro ano de uma era de calendário japonês em operações de análise. true reconhecer apenas "1"; false para reconhecer "1" ou Gannen (o comportamento padrão). Para obter mais informações, consulte Trabalhando com calendários. |
.NET framework 4.6 |
Switch.System.Globalization.FormatJapaneseFirstYearAsANumber |
Controla se o primeiro ano de uma era de calendário japonês é representado como "1" ou Gannen em operações de formatação. true formatar o primeiro ano da era como "1"; false para formatá-lo como Gannen (o comportamento padrão). Para obter mais informações, consulte Trabalhando com calendários. |
.NET framework 4.6 |
Switch.System.Globalization.NoAsyncCurrentCulture |
Controla se as operações assíncronas não fluem do contexto do thread de chamada. Para obter mais informações, consulte CurrentCulture e CurrentUICulture flow entre tarefas. | .NET framework 4.6 |
Switch.System.IdentityModel. DisableMultipleDNSEntriesInSANCertificate |
Controla se o X509CertificateClaimSet.FindClaims método tenta corresponder ao tipo de declaração somente com a última entrada DNS. Para obter mais informações, consulte Mitigação: Método X509CertificateClaimSet.FindClaims. | .NET Framework 4.6.1 |
Switch.System.IdentityModel. EnableCachedEmptyDefaultAuthorizationContext |
Controla se AuthorizationContext.Empty deve ser permitido para retornar um objeto mutável. | .NET framework 4.6 |
Switch.System.IO.BlockLongPaths |
Controla se caminhos maiores que MAX_PATH (260 caracteres) lançam um PathTooLongExceptionarquivo . Para obter mais informações, consulte Suporte de caminho longo. |
.NET Framework 4.6.2 |
Switch.System.IO.Compression. DoNotUseNativeZipLibraryForDecompression |
Controla se as rotinas nativas do DeflateStream sistema operacional são usadas para descompactação pela classe. false usar APIs nativas; true para usar a DeflateStream implementação. |
.NET Framework 4.7.2 |
Switch.System.IO.Compression.ZipFile. UseBackslash |
Usa a barra invertida ("\") em vez da barra ("/") como separador de ZipArchiveEntry.FullName caminho na propriedade. Para obter mais informações, consulte Mitigação: Separador de caminho ZipArchiveEntry.FullName. | .NET Framework 4.6.1 |
Switch.System.IO.Ports. DoNotCatchSerialStreamThreadExceptions |
Controla se as exceções do sistema operacional lançadas em threads em segundo plano criados com SerialPort fluxos encerram o processo. | .NET Framework 4.7.1 |
Switch.System.IO. UseLegacyPathHandling |
Controla se a normalização de caminho herdado é usada e os caminhos de URI são suportados Path.GetDirectoryName pelos métodos e Path.GetPathRoot . Para obter mais informações, consulte Mitigação: normalização e mitigação de caminho: verificações de dois pontos de caminho. | .NET Framework 4.6.2 |
Switch.System. MemberDescriptorEqualsReturnsFalseIfEquivalent |
Controla se um teste de igualdade compara a MemberDescriptor.Category propriedade de um objeto com a MemberDescriptor.Description propriedade do segundo objeto. Para obter mais informações, consulte Implementação incorreta de MemberDescriptor.Equals. | .NET Framework 4.6.2 |
Switch.System.Net. DontCheckCertificateEKUs |
Desabilita a validação do identificador de objeto (OID) de uso avançado de chave (EKU) do certificado. Uma extensão de uso avançado de chave (EKU) é uma coleção de identificadores de objeto (OIDs) que indicam os aplicativos que usam a chave. | .NET framework 4.6 |
Switch.System.Net. DontEnableSchSendAuxRecord |
Desativa a exploração do navegador TLS1.0 contra a mitigação SSL/TLS (BEAST) desativando o uso de SCH_SEND_AUX_RECORD. | .NET framework 4.6 |
Switch.System.Net. DontEnableSchUseStrongCrypto |
Controla se as System.Net.ServicePointManager classes e System.Net.Security.SslStream podem usar o protocolo SSL 3.0. Para obter mais informações, consulte Mitigação: protocolos TLS. | .NET framework 4.6 |
Switch.System.Net. DontEnableSystemDefaultTlsVersions |
Desabilita as versões SystemDefault TLS revertendo para um padrão de Tls12, Tls11, Tls. | .NET Framework 4.7 |
Switch.System.Net. DontEnableTlsAlerts |
Desativa os alertas do lado do servidor SslStream TLS. | .NET Framework 4.7 |
Switch.System.Runtime.InteropServices. DoNotMarshalOutByrefSafeArrayOnInvoke |
Controla se os parâmetros ByRef SafeArray em eventos de interoperabilidade COM retornam ao código nativo (false ) ou se a empacotação de volta ao código nativo está desabilitada (true ). |
.NET Framework 4.8 |
Switch.System.Runtime.Serialization. DoNotUseECMAScriptV6EscapeControlCharacter |
Controla se o DataContractJsonSerializer serializa alguns caracteres de controle com base nos padrões ECMAScript V6 e V8. Para obter mais informações, consulte Mitigação: serialização de caracteres de controle com o DataContractJsonSerializer | .NET Framework 4.7 |
Switch.System.Runtime.Serialization. DoNotUseTimeZoneInfo |
Controla se o suporta vários ajustes ou apenas um único ajuste para um fuso DataContractJsonSerializer horário. Se true , ele usa o TimeZoneInfo tipo para serializar e desserializar dados de data e hora, caso contrário, ele usa o TimeZone tipo, que não suporta várias regras de ajuste. |
.NET Framework 4.6.2 |
Switch.System.Runtime.Serialization.UseNewMaxArraySize |
Controla se System.Runtime.Serialization.ObjectManager usa um tamanho de matriz maior durante a serialização e desserialização de objetos. Defina essa opção para true melhorar o desempenho da serialização e desserialização de gráficos de objetos grandes por tipos como BinaryFormatter. |
.NET Framework 4.7.2 |
Switch.System.Security.ClaimsIdentity. SetActorAsReferenceWhenCopyingClaimsIdentity |
Controla se o ClaimsIdentity(IIdentity) construtor define a propriedade do ClaimsIdentity.Actor novo objeto com uma referência de objeto existente. Para obter mais informações, consulte Mitigation: ClaimsIdentity Constructor. | .NET Framework 4.6.2 |
Switch.System.Security.Cryptography. AesCryptoServiceProvider.DontCorrectlyResetDecryptor |
Controla se a tentativa de reutilizar um AesCryptoServiceProvider desencriptador lança um CryptographicExceptionficheiro . Para obter mais informações, consulte O desencriptador AesCryptoServiceProvider fornece uma transformação reutilizável. | .NET Framework 4.6.2 |
Switch.System.Security.Cryptography. DoNotAddrOfCspParentWindowHandle |
Controla se o valor da propriedade CspParameters.ParentWindowHandle é um IntPtr que representa o local da memória de um identificador de janela ou se é um identificador de janela (um HWND). Para obter mais informações, consulte Mitigação: CspParameters.ParentWindowHandle espera um HWND. | .NET Framework 4.7 |
Switch.System.Security.Cryptography. UseLegacyFipsThrow |
Controla se o uso de classes de criptografia gerenciadas no modo FIPS gera um CryptographicException (true ) ou depende da implementação de bibliotecas do sistema (false ). |
.NET Framework 4.8 |
Switch.System.Security.Cryptography.Pkcs. UseInsecureHashAlgorithms |
Determina se o padrão para algumas operações SignedCMS é SHA1 ou SHA256. Devido a problemas de colisão com SHA1, a Microsoft recomenda SHA256. |
.NET Framework 4.7.1 |
Switch.System.Security.Cryptography.X509Certificates. ECDsaCertificateExtensions.UseLegacyPublicKeyReader |
Controla se o ECDsaCertificateExtensions.GetECDsaPublicKey método manipula corretamente todas as curvas nomeadas suportadas pelo sistema operacional (false ) ou reverte para o comportamento herdado. |
.NET Framework 4.8 |
Switch.System.Security.Cryptography.Xml. UseInsecureHashAlgorithms |
Determina se o padrão para algumas operações SignedXML é SHA1 ou SHA256. Devido a problemas de colisão com SHA1, a Microsoft recomenda SHA256. |
.NET Framework 4.7.1 |
Switch.System.ServiceModel. AllowUnsignedToHeader |
Determina se o TransportWithMessageCredential modo de segurança permite mensagens com um cabeçalho "para" não assinado. Esta é uma opção de aceitação. Para obter mais informações, consulte Alterações de tempo de execução no .NET Framework 4.6.1. |
.NET Framework 4.6.1 |
Switch.System.ServiceModel. DisableAddressHeaderCollectionValidation > |
Controla se o AddressHeaderCollection(IEnumerable<AddressHeader>) construtor lança um ArgumentException se um dos elementos é null . |
.NET Framework 4.7.1 |
Switch.System.IdentityModel. DisableCngCertificates |
Determina se a tentativa de usar certificados X509 com um provedor de armazenamento de chaves CSG gera uma exceção. Para obter mais informações, consulte Segurança de transporte WCF suporta certificados armazenados usando CNG. | .NET Framework 4.6.1 |
Switch.System.ServiceModel. DisableExplicitConnectionCloseHeader |
Ao usar o transporte HTTP com um serviço auto-hospedado, definir esse valor como true faz com que o WCF ignore um aplicativo que adiciona o Connection: close cabeçalho aos cabeçalhos de resposta de uma solicitação. Definir esse valor como false permite adicionar o Connection: close cabeçalho aos cabeçalhos de resposta, o que resulta no fechamento do soquete de solicitação após o envio de uma resposta. |
.NET framework 4.6 |
Switch.System.ServiceModel. DisableOperationContextAsyncFlow |
Manipula deadlocks que resultam da restrição de instâncias de um serviço de reentrada a um único thread de execução de cada vez. | .NET Framework 4.6.2 |
Switch.System.ServiceModel. DisableUsingServicePointManagerSecurityProtocols |
Junto com Switch.System.Net.DontEnableSchUseStrongCrypto , determina se a segurança da mensagem WCF usa TLS 1.1 e TLS 1.2. |
.NET Framework 4.7 |
Switch.System.ServiceModel. DontEnableSystemDefaultTlsVersions |
Um valor de false define a configuração padrão para permitir que o sistema operacional escolha o protocolo. Um valor de true define o padrão para o protocolo mais alto disponível. (Também disponível na ramificação de manutenção de versões anteriores do framework) |
.NET Framework 4.7.1 |
Switch.System.ServiceModel. UseSha1InMsmqEncryptionAlgorithm |
Determina se o algoritmo de assinatura de mensagem padrão para mensagens MSMQ no WCF é SHA1 ou SHA256. Devido a problemas de colisão com SHA1, a Microsoft recomenda SHA256. |
.NET Framework 4.7.1 |
Switch.System.ServiceModel. UseSha1InPipeConnectionGetHashAlgorithm |
Controla se o WCF usa um hash SHA1 ou SHA256 para gerar nomes aleatórios para pipes nomeados. Devido a problemas de colisão com SHA1, a Microsoft recomenda SHA256. |
.NET Framework 4.7.1 |
Switch.System.ServiceModel.Internals IncludeNullExceptionMessageInETWTrace |
Controla se uma NullReferenceException deve ser lançada quando a mensagem de exceção é nula. | .NET Framework 4.7 |
Switch.System.ServiceProcess. DontThrowExceptionsOnStart |
Controla se as exceções lançadas na inicialização do serviço são propagadas para o chamador do ServiceBase.Run método. | .NET Framework 4.7.1 |
Switch.System.Threading.UseNetCoreTimer |
Controla se Timer as instâncias aproveitam as melhorias de desempenho para ambientes de alta escala. Se true , as melhorias de desempenho estão habilitadas, se false (o valor padrão), elas são desabilitadas. |
.NET Framework 4.8 |
Switch.System.Uri. DontEnableStrictRFC3986ReservedCharacterSets |
Determina se determinados caracteres codificados por porcentagem que às vezes eram decodificados agora são consistentemente deixados codificados. Se true , eles são decodificados, caso contrário, false . |
.NET Framework 4.7.2 |
Switch.System.Uri. DontKeepUnicodeBidiFormattingCharacters |
Determina a manipulação de caracteres bidirecionais Unicode em URIs. true retirá-los dos URIs; false para preservá-los e codificá-los percentualmente. |
.NET Framework 4.7.2 |
Switch.System.Windows.Controls.Grid. StarDefinitionsCanExceedAvailableSpace |
Determina se o Windows Presentation Foundation aplica um algoritmo antigo (true ) ou um novo algoritmo (false ) na alocação de espaço para colunas *. Para obter mais informações, consulte Mitigação: alocação de espaço do controle de grade para colunas de estrela. |
.NET Framework 4.7 |
Switch.System.Windows.Controls.TabControl. SelectionPropertiesCanLagBehindSelectionChangedEvent |
Controla se um seletor ou um controle de guia sempre atualiza o valor de sua propriedade de valor selecionado antes de gerar o evento de seleção alterada. | .NET Framework 4.7.1 |
Switch.System.Windows.Controls.Text. UseAdornerForTextboxSelectionRendering |
Determina se a renderização de seleção não baseada em Adorner está disponível para os TextBox controles e PasswordBox para evitar texto ocluído (false ), ou se o texto é renderizado somente na camada Adorner (true ). |
.NET Framework 4.7.2 |
Switch.System.Windows.Data.Binding. IListIndexerHidesCustomIndexer |
Controla System.Windows.Data.Binding se indexadores IList personalizados são usados incorretamente (true ) ou corretamente (false ) pela classe. |
.NET Framework 4.8 |
Switch.System.Windows.DoNotScaleForDpiChanges |
Determina se as alterações de DPI ocorrem por sistema (um valor de false ) ou por monitor (um valor de true ). |
.NET Framework 4.6.2 |
Switch.System.Windows. DoNotUsePresentationDpiCapabilityTier2OrGreater |
Controla se as melhorias no dimensionamento de controles em um System.Windows.Interop.HwndHost quando o WPF é executado no modo com reconhecimento por monitor estão desabilitadas (true ) ou habilitadas (false ). |
.NET Framework 4.8 |
Switch.System.Windows.Forms. DisconnectUiaProvidersOnWmDestroy |
Controla se os provedores são desconectados quando a janela de controle correspondente é destruída (true ) ou não (false ). Esta opção fornece uma opção para uma correção de desempenho para resolver um vazamento de IRawElementProviderSimple objetos. |
.NET Framework 4.8 |
Switch.System.Windows.Forms. DomainUpDown.UseLegacyScrolling |
Determina se o desenvolvedor precisa lidar especialmente com a ação quando o DomainUpDown.UpButton() texto de controle está presente. true para lidar com a UpButton() ação, false para que as DomainUpDown.UpButton() ações estejam DomainUpDown.DownButton() devidamente sincronizadas. |
.NET Framework 4.7.2 |
Switch.System.Windows.Forms. DontSupportReentrantFilterMessage |
Opta por não participar do código que permite que uma implementação personalizada IMessageFilter.PreFilterMessage filtre mensagens com segurança sem lançar uma exceção quando o Application.FilterMessage método é chamado. Para obter mais informações, consulte Mitigação: implementações personalizadas de IMessageFilter.PreFilterMessage. | .NET Framework 4.6.1 |
Switch.System.Windows.Forms. UseLegacyContextMenuStripSourceControlValue |
Determina se a ContextMenuStrip.SourceControl propriedade retorna o controle de origem quando o usuário abre o menu de um controle aninhado ToolStripMenuItem . true para retornar null , o comportamento legado, false para retornar o controle do código-fonte. |
.NET Framework 4.7.2 |
Switch.System.Windows.Forms.UseLegacyToolTipDisplay |
Controla se o suporte à invocação de dica de ferramenta está desabilitado (true ) ou habilitado (false ). Habilitar o suporte à invocação de dica de ferramenta também requer recursos de acessibilidade herdados definidos por Switch.UseLegacyAccessibilityFeatures , Switch.UseLegacyAccessibilityFeatures.2 e Switch.UseLegacyAccessibilityFeatures.3 todos devem ser desabilitados (definido como false ). |
.NET Framework 4.8 |
Switch.System.Windows.Input.Stylus. EnablePointerSupport |
Determina se uma pilha de toque/caneta baseada em opcional WM_POINTER está habilitada em aplicativos WPF. Para obter mais informações, consulte Mitigação: Suporte a toque e caneta baseado em ponteiro |
.NET Framework 4.7 |
Switch.System.Windows.Markup. DoNotUseSha256ForMarkupCompilerChecksumAlgorithm |
Determina se o algoritmo de hash padrão usado para somas de verificação é SHA256 (false ) ou SHA1 (true ).Devido a problemas de colisão com SHA1, a Microsoft recomenda SHA256. |
.NET Framework 4.7.2 |
Switch.System.Windows.Media.ImageSourceConverter. OverrideExceptionWithNullReferenceException |
Controla se um NullReferenceException herdado é lançado em vez da exceção que indica mais especificamente a causa da exceção (como um DirectoryNotFoundException ou um FileNotFoundException. Destina-se ao uso por código que depende da manipulação de NullReferenceException. | .NET Framework 4.7 |
Switch.System.Workflow.ComponentModel. UseLegacyHashForXomlFileChecksum |
Controla se o hash de soma de verificação de arquivos XOML em compilações de projeto de fluxo de trabalho usa o algoritmo MD5 (true ) ou se eles usam o algoritmo SHA256 introduzido como padrão no .NET Framework 4.8.Devido a problemas de colisão com MD5, a Microsoft recomenda SHA256. |
.NET Framework 4.8 |
Switch.System.Workflow.Runtime. UseLegacyHashForSqlTrackingCacheKey |
Controla se o hash de soma de verificação pelo SqlTrackingService usa o algoritmo MD5 (true ) para cadeias de caracteres armazenadas em cache ou se usa o algoritmo SHA256 introduzido como padrão no .NET Framework 4.8.Devido a problemas de colisão com MD5, a Microsoft recomenda SHA256. |
.NET Framework 4.8 |
Switch.System.Workflow.Runtime. UseLegacyHashForWorkflowDefinitionDispenserCacheKey |
Controla se o hash de soma de verificação pelo Workflow Runtime usa o algoritmo MD5 (true ) para definições de fluxo de trabalho em cache ou se usa o algoritmo SHA256 introduzido como padrão no .NET Framework 4.8.Devido a problemas de colisão com MD5, a Microsoft recomenda SHA256. |
.NET Framework 4.8 |
Switch.UseLegacyAccessibilityFeatures |
Controla se os recursos de acessibilidade disponíveis a partir do .NET Framework 4.7.1 estão habilitados ou desabilitados. | .NET Framework 4.7.1 |
Switch.UseLegacyAccessibilityFeatures.2 |
Controla se os recursos de acessibilidade disponíveis no .NET Framework 4.7.2 estão habilitados (false ) ou desabilitados (true ). Se true , Switch.UseLegacyAccessibilityFeatures também deve ser true para habilitar os recursos de acessibilidade do .NET Framework 4.7.1. |
.NET Framework 4.7.2 |
Switch.UseLegacyAccessibilityFeatures.3 |
Controla se os recursos de acessibilidade introduzidos no .NET Framework 4.8 estão habilitados (false ) ou desabilitados (true ). Se true , Switch.UseLegacyAccessibilityFeatures e Switch.UseLegacyAccessibilityFeatures.2 também deve ser true . |
.NET Framework 4.8 |
Switch.UseLegacyToolTipDisplay |
Controla se as dicas de ferramentas são exibidas quando um usuário passa o cursor do mouse sobre um controle WPF (true ), ou se elas são exibidas no foco do teclado e por meio da tecla de atalho do teclado (false , o comportamento padrão). Para aplicativos executados no .NET Framework 4.8, mas destinados a versões anteriores do .NET Framework, habilitar o foco do teclado e o suporte a teclas de atalho requer que Switch.UseLegacyAccessibilityFeatures , Switch.UseLegacyAccessibilityFeatures.2 e Switch.UseLegacyAccessibilityFeatures.3 todos estejam definidos como false . |
.NET Framework 4.8 |
Switch.System.Xml. IgnoreEmptyKeySequences |
Controla se as sequências de teclas vazias em chaves compostas são ignoradas pela validação do esquema XSD. Para obter mais informações, consulte Mitigação: validação de esquema XML. | .NET framework 4.6 |
Nota
Em vez de adicionar um AppContextSwitchOverrides
elemento a um arquivo de configuração do aplicativo, você também pode definir as opções programaticamente chamando o AppContext.SetSwitch método.
Os desenvolvedores de bibliotecas também podem definir opções personalizadas para permitir que os chamadores desativem a funcionalidade alterada introduzida em versões posteriores de suas bibliotecas. Para obter mais informações, consulte a AppContext classe.
Alterna em aplicativos ASP.NET
Você pode configurar um aplicativo ASP.NET para usar as configurações de compatibilidade adicionando um <elemento Add> à< seção appSettings> do arquivo web.config.
O exemplo a seguir usa o <add>
elemento para adicionar duas configurações à <appSettings>
seção de um arquivo web.config:
<appSettings>
<add key="AppContext.SetSwitch:Switch.System.Globalization.NoAsyncCurrentCulture" value="true" />
<add key="AppContext.SetSwitch:Switch.System.Uri.DontEnableStrictRFC3986ReservedCharacterSets" value="true" />
</appSettings>
Exemplo
O exemplo a seguir usa o elemento para definir uma única opção de compatibilidade de aplicativo, Switch.System.Globalization.NoAsyncCurrentCulture
, que impede que a AppContextSwitchOverrides
cultura flua entre threads em chamadas de método assíncronas.
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.Globalization.NoAsyncCurrentCulture=true" />
</runtime>
</configuration>
O exemplo a seguir usa o AppContextSwitchOverrides
elemento para definir duas opções Switch.System.Globalization.NoAsyncCurrentCulture
de compatibilidade de aplicativos e Switch.System.IO.BlockLongPaths
. Um ponto-e-vírgula separa os dois pares nome/valor.
<configuration>
<runtime>
<AppContextSwitchOverrides
value="Switch.System.Globalization.NoAsyncCurrentCulture=true;Switch.System.IO.BlockLongPaths=true" />
</runtime>
</configuration>