2009-07-27 11 views

Respuesta

20

En ASP.NET:

Configuration config = WebConfigurationManager.OpenWebConfiguration(null); 
AppSettingsSection app = config.AppSettings; 
app.Settings.Add("x", "this is X"); 
config.Save(ConfigurationSaveMode.Modified); 

En WinForms:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
AppSettingsSection app = config.AppSettings; 
app.Settings.Add("x", "this is X"); 
config.Save(ConfigurationSaveMode.Modified); 
+0

cuando abro app.config no escriba "x" y "esto es x" –

+0

me ayudó ... :) –

+2

@monkey_boys: Cuando se ejecuta, por ejemplo, una victoria de los formularios de solicitud de VS, el archivo .config correspondiente a buscar es: .vshost.exe.config, por lo que si estaban buscando en exe.config continuación, que no se ve ningún cambio . – Wout

1

Sé que pedirá específicamente para la solución de Windows Forms , pero esto podría ayudar a otros. Para una aplicación de consola .NET 4.0, ninguno de estos me funcionó. Así que utilicé la siguiente y funcionó:

private static void UpdateSetting(string key, string value) 
{ 
    Configuration configuration = ConfigurationManager. 
     OpenExeConfiguration(Assembly.GetExecutingAssembly().Location); 
    configuration.AppSettings.Settings[key].Value = value; 
    configuration.Save(); 

    ConfigurationManager.RefreshSection("appSettings"); 
} 
Cuestiones relacionadas