Síntomas
Suponga que tiene Microsoft.NET Framework 4.7 instalado en un equipo. Puede observar que las aplicaciones que se ejecutan en el.NET Framework no respetan la configuración de compatibilidad que se especifica en el registro para conmutadores AppContext. En este escenario, cuando intenta establecer una opción de registro para el indicador AppContext, se comporta como si el valor especificado en la opción del registro se establece en False.
Causa
Cuando el programa lee el valor de un modificador de AppContext en el registro, no se puede recuperar los datos. En este caso, se supone que algo va mal con la forma en la configuración se especifica en el registro y se devuelve el valor False a la aplicación.
Solución
Para corregir este problema, utilice el archivo de configuración (unapp.config) para establecer el indicador en el valor deseado.
Agregue un elemento < AppContextSwitchOverrides > a la sección < runtime > del archivo app.config . El conmutador tiene un atributo único, es decir, valor, cuyo valor es una cadena que representa un par de clave o un valor que contiene el nombre del conmutador y el valor.
Para definir varios conmutadores, separar el par de clave o el valor de cada modificador en el <AppContextSwitchOverrides> atributo de valor del elemento con un punto y coma. En ese caso, el elemento <AppContextSwitchOverrides> tiene el siguiente formato:
XML
<AppContextSwitchOverrides value=”switchName1=value1;switchName2=value2” />
Utilizando el elemento < AppContextSwitchOverrides > para definir una opción de configuración tiene el ámbito de aplicación. Es decir, afecta sólo a la aplicación.
Dado que los archivos app.config son específicos de la aplicación, debe hacer esto para todas las aplicaciones afectadas.
Para obtener más información sobre AppContext, consulte el tema siguiente en el sitio Web de Microsoft Developer Network (MSDN):
Más información
Este problema se introdujo como parte del trabajo para habilitar AppContext conmutadores para utilizarse muy pronto en el ciclo de vida del dominio de aplicación. Esto permite cambios que de lo contrario podrían romper para hacerse de forma segura, incluso si el código que necesita para utilizar un modificador de AppContext se quedó muy temprano en el AppDomain Traer.
El problema trata sobre cuánta memoria se asigna para almacenar el valor que se lee desde el registro. Si el espacio asignado para almacenar el valor que se lee desde el registro no es suficiente, recurrirá al valor predeterminado de False.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Se refiere a", y Microsoft está trabajando en una solución en las próximas versiones del producto.