Symptômes
Supposons que vous disposez de Microsoft.NET Framework 4.7 installé sur un ordinateur. Vous pouvez remarquer que les applications qui s’exécutent sur le.NET Framework ne respectent pas les paramètres de compatibilité qui sont spécifiés dans le Registre pour les commutateurs AppContext. Dans ce scénario, lorsque vous essayez de définir une option de Registre d’un indicateur AppContext, il se comporte comme si la valeur qui est spécifiée dans l’option de Registre a la valeur False.
Cause
Lorsque le programme lit la valeur d’un commutateur de AppContext dans le Registre, les données ne peuvent pas être récupérées. Dans ce cas, il est supposé que quelque chose est le problème avec la façon dont le paramètre est spécifié dans le Registre et la valeur False est renvoyée à l’application.
Résolution
Pour résoudre ce problème, utilisez le fichier de configuration(pp.config)pour définir l’indicateur à la valeur souhaitée.
Ajouter un élément < AppContextSwitchOverrides > à la section < runtime > du fichier app.config . Le commutateur est un attribut unique, autrement dit, valeur, dont la valeur est une chaîne qui représente une paire de clé ou une valeur qui contient le nom du commutateur et la valeur.
Pour définir plusieurs commutateurs, séparer clé ou une valeur paire de chaque commutateur dans le <AppContextSwitchOverrides> l’attribut value d’un élément par un point-virgule. Dans ce cas, l’élément <AppContextSwitchOverrides> a le format suivant :
XML
<AppContextSwitchOverrides value=”switchName1=value1;switchName2=value2” />
À l’aide de l’élément < AppContextSwitchOverrides > pour définir un paramètre de configuration a la portée de l’application. Autrement dit, il affecte uniquement l’application.
Dans la mesure où les fichiers app.config sont spécifiques aux applications, vous devez le faire pour toutes les applications concernées.
Pour plus d’informations sur AppContext, consultez la rubrique suivante sur le site Web de Microsoft Developer Network (MSDN) :
Plus d'informations
Ce problème a été introduit dans le cadre du travail à activer les commutateurs AppContext à utiliser très tôt dans le cycle de vie de AppDomain. Cette opération autorisée qui seraient sinon interrompre à effectuer en toute sécurité, même si le code nécessaire pour utiliser un commutateur de AppContext exécuté très tôt dans l’AppDomain les modifications.
Le problème concerne la quantité de mémoire est allouée pour stocker la valeur qui est lu à partir du Registre. Si l’espace alloué pour stocker la valeur qui est lu à partir du Registre est insuffisante, il reviendra à la valeur par défaut False.
État
Microsoft a confirmé qu’il s’agit d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à », et Microsoft travaille sur une solution dans les prochaines versions du produit.