2012-01-12 10 views
8

Mi App.Config es algo así como:app.config no están ahorrando los valores

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<appSettings> 
    <add key="foo" value=""/> 
</appSettings> 
</configuration> 

Trato de guardar el valor foo utilizando el siguiente método:

private void SaveValue(string value) { 
    var config = 
     ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
    config.AppSettings.Settings.Add("foo", value); 
    config.Save(ConfigurationSaveMode.Modified); 
} 

pero esto no cambia el valor de eso. y no tengo una excepción cómo solucionarlo? ¡gracias por adelantado!

+0

Aquí está el ejemplo completo [ConfigurationManager.OpenExeConfiguration Método (ConfigurationUserLevel)] (http://msdn.microsoft.com/en-us/library/ms134265. aspx) –

Respuesta

26

Cuando está depurando con Visual Studio probablemente se modifique el <yourexe>.vshost.exe.config en lugar del <yourexe>.exe.config. Cuando crea la aplicación en modo Release, solo existe el <yourexe>.exe.config y se actualizará.

Su código también agregará un nodo adicional al archivo de configuración. Usar algo como el código de abajo para actualizar la configuración:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
config.AppSettings.Settings["foo"].Value = "text";  
config.Save(ConfigurationSaveMode.Modified); 
+0

Muchas gracias por su respuesta! Funcionó bien. :) – Jack

0

Try eliminando primero el valor antiguo y luego añadir de nuevo

config.AppSettings.Settings.Remove("foo"); 
config.AppSettings.Settings.Add("foo", value); 
config.Save(ConfigurationSaveMode.Modified); 
+1

no funcionó para mí. – Jack

3

App.config se copia en la carpeta de salida en la construcción, llamado <yourexe>.exe.config. Este es el archivo de configuración real que se carga y guarda en el tiempo de ejecución.

Eche un vistazo a su carpeta de salida, allí probablemente encontrará que el archivo de configuración contiene sus cambios.

+2

está exactamente allí que estoy viendo. no hay cambios – Jack

Cuestiones relacionadas