app.config Value Modification Quandary
Dans l'extrait de code fourni, une tentative est faite 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, plongeons 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 touche "Lang" dans le fichier app.config. Cependant, comme mis en évidence dans la réponse, cette modification se produit uniquement en mémoire et n'est pas persisté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) ne fait que des modifications temporaires et en mémoire. Pour persister 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 de 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:
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3