2010-10-01 6 views
1

Ceci est mon code:Comment mettre à jour une valeur dans le fichier app.config?

Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
KeyValueConfigurationCollection settings = configuration.AppSettings.Settings; 
settings["IP"].Value = "10.0.0.2"; 
configuration.Save(ConfigurationSaveMode.Modified); 

quand je fais en ligne settings["IP"].Value, j'obtenir la valeur correcte.
La méthode se termine sans aucune erreur mais le fichier app.config reste inchangé.

Répondre

5

Ce code devrait fonctionner:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 

config.AppSettings.Settings["IP"].Value = "10.0.0.2"; 
config.Save(ConfigurationSaveMode.Modified); 
ConfigurationManager.RefreshSection("appSettings"); 
+1

il ne fonctionne pas – shlomjmi

+1

Vous devez exécuter le fichier exécutable dans votre/bin/dossier de presse (par exemple: Console01.exe), et vérifier le fichier app.config dans le même dossier (par exemple: Console01.exe.Config) – bla

+0

oh, j'ai essayé de l'exécuter à partir de VS ... – shlomjmi

0

Selon ma connaissance you can't persist the updated value in App.config. Si vous souhaitez conserver la valeur de configuration, effectuez l'opération XML normale.

Questions connexes