Sintomas
Suponha que você tenha o Microsoft.NET Framework 4.7 instalado em um computador. Você pode perceber que os aplicativos executados sobre o.NET Framework não respeitam as configurações de compatibilidade especificadas no registro para switches de AppContext. Nesse cenário, quando você tenta definir uma opção de registro para um sinalizador AppContext, ele se comporta como se o valor é especificado na opção de registro é definido como False.
Causa
Quando o programa lê o valor de uma chave AppContext no registro, os dados não podem ser recuperados. Nesse caso, presume-se que algo está errado com o modo como a configuração é especificada no registro e o valor False será retornado para o aplicativo.
Resolução
Para corrigir esse problema, use o arquivo de configuração (umpp.config) do aplicativo para definir o sinalizador com o valor desejado.
Adicione um elemento < AppContextSwitchOverrides > à seção < em > tempo de execução do arquivo App. config . O switch tem um único atributo, ou seja, valor, cujo valor é uma sequência de caracteres que representa um par de chave ou um valor que contém o nome da chave e o valor.
Para definir várias opções, separe o par de chave ou o valor de cada switch no <AppContextSwitchOverrides> atributo de valor do elemento com um ponto e vírgula. Nesse caso, o elemento <AppContextSwitchOverrides> tem o seguinte formato:
XML
<AppContextSwitchOverrides value=”switchName1=value1;switchName2=value2” />
Usando o elemento < AppContextSwitchOverrides > para definir uma configuração tem o escopo de aplicativo. Ou seja, ela afeta somente o aplicativo.
Como os arquivos App. config são específicos do aplicativo, você deve fazer isso para todos os aplicativos afetados.
Para obter mais informações sobre AppContext, vá para o tópico a seguir no site da Microsoft Developer Network (MSDN):
Mais informações
Esse problema foi introduzido como parte do trabalho para permitir opções de AppContext ser usado logo no início do ciclo de vida do AppDomain. Isso permitiu que as alterações caso contrário poderiam quebrar para ser feito com segurança, mesmo que o código necessário para usar uma chave de AppContext foi executado logo o AppDomain trazer-up.
o problema é sobre quanta memória é alocada para armazenar o valor de leitura do registro. Se o espaço alocado para armazenar o valor é lido do registro for insuficiente, ele voltará para o valor padrão False.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft que estão listados na seção "Aplica-se a" e que a Microsoft está trabalhando em uma solução nas próximas versões do produto.