Síntomas
Suponga que tiene Microsoft .NET Framework 4.7 instalado en un equipo. Es posible que observe que las aplicaciones que se ejecutan en .NET Framework no respetan la configuración de compatibilidad especificada en el Registro para los modificadores de AppContext. En este escenario, al intentar establecer una opción del Registro para una marca AppContext, se comporta como si el valor que se especifica en la opción del Registro se establece en False.
Causa
Cuando el programa lee el valor de un modificador AppContext en el Registro, los datos no se pueden recuperar. En este caso, se supone que hay un problema con la forma en que se especifica la configuración en el Registro y se devuelve un valor de False a la aplicación.
Resolución
Para corregir este problema, utilice el archivo de configuración de la aplicación (app.config) para establecer la marca en el valor deseado.
Agregue un <elemento AppContextSwitchOverrides> a la <sección runtime> del archivo app.config . El modificador tiene un atributo único, es decir, valor, cuyo valor es una cadena que representa una clave o un par de valores que contiene el nombre del modificador y el valor.
Para definir varios modificadores, separe la clave o el par de valores de cada modificador en el < atributo value del elemento AppContextSwitchOverrides> con un punto y coma. En ese caso, el < elemento AppContextSwitchOverrides> tiene el siguiente formato:
XML
<AppContextSwitchOverrides value=”switchName1=value1;switchName2=value2” />
El uso del <elemento AppContextSwitchOverrides> para definir una configuración tiene el ámbito de la aplicación. Es decir, afecta solo a la aplicación.
Como app.config archivos son específicos de la aplicación, debe hacerlo para todas las aplicaciones afectadas.
Para obtener más información sobre AppContext, vaya al tema siguiente en el sitio web de Microsoft Developer Network (MSDN):
Más información
Este problema se introdujo como parte del trabajo para permitir que los modificadores de AppContext se usen muy pronto en el ciclo de vida de AppDomain. Esto permitió cambios que, de lo contrario, se dividirían para realizarse de forma segura, incluso si el código necesario para usar un modificador AppContext se ejecutaba muy pronto en el elemento emergente AppDomain.
El problema es la cantidad de memoria asignada para almacenar el valor que se lee del Registro. Si el espacio asignado para almacenar el valor que se lee del Registro no es suficiente, volverá al valor predeterminado de False.
Estado
Microsoft ha confirmado que se trata de un problema en los productos de Microsoft que se enumeran en la sección "Se aplica a" y Microsoft está trabajando en una solución en las próximas versiones del producto.