Quandaire de modification de la valeur App.Config
Dans l'extrait de code fourni, une tentative est effectuée pour modifier une valeur dans le fichier App.Config . Cependant, cette modification ne persiste pas comme prévu. Pour identifier la source de ce problème, examinons le code fourni et explorons les problèmes potentiels.
Le segment de code :
lang = "Russian"; private void Main_FormClosing(object sender, FormClosingEventArgs e) { System.Configuration.ConfigurationManager.AppSettings.Set("lang", lang); }
modifie en effet la valeur de la clé "lang" dans le Fichier App.Config. Cependant, comme souligné dans la réponse, cette modification se produit uniquement en mémoire et n'est pas conservée dans le fichier de configuration physique.
La clé pour résoudre ce problème réside dans la reconnaissance que ConfigurationManager.AppSettings.Set("lang", lang) n'effectue que des modifications temporaires en mémoire. Pour conserver ces modifications dans le fichier App.Config, des étapes supplémentaires sont nécessaires.
La réponse introduit un extrait de code révisé spécifiquement adapté à une application console :
class Program { static void Main(string[] args) { UpdateSetting("lang", "Russian"); } private static void UpdateSetting(string key, string value) { Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); configuration.AppSettings.Settings[key].Value = value; configuration.Save(); ConfigurationManager.RefreshSection("appSettings"); } }
Dans ce code :
En exploitant ce code mis à jour, les modifications de valeur apportées au fichier App.Config sont désormais conservées avec succès, résolvant le problème et permettant le changement de paramètre de langue souhaité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!