2010-11-23 5 views
3

ceci est mon code ...C# fichier app.config

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); 
    AppSettingsSection configSection = config.AppSettings; 

    try 
    { 
     if (configSection != null) 
     { 
      if (configSection.IsReadOnly() == false && configSection.SectionInformation.IsLocked == false) 
      { 
       configSection.Settings["DailyFilName"].Value = "NewValue"; 
       config.Save(); 
      } 
     } 
    } 
    catch (ConfigurationException ex) 
    { 
     MessageBox.Show(ex.Message, "Configuration Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
    } 

Mais son pas mis à jour mon fichier de configuration :(

+3

Nous ne sont pas des compilateurs pour lire votre code et comprendre comment il va compiler/courir. Un peu plus d'explications vous aideraient, vous et nous ;-) – Shoban

+0

Est-ce qu'il montre une erreur? – Shoban

+0

Quelle est la portée des valeurs de configuration? – SubniC

Répondre

1

vous devez utiliser ceci:

configSection.SectionInformation.ForceSave = true; 
config.Save(ConfigurationSaveMode.Modified); 

un coup d'oeil au ConfigurationSaveMode enum pour plus d'options

+1

également, juste remarqué le nom des paramètres n'est pas écrit correctement "DailyFilName". peut-être une faute de frappe ici? –

+0

thanx Daniel son travail. – Charitha

+0

génial! J'apprécie un vote si c'était utile :) –

0

remplacer config.Save();

pour être

config.Save(ConfigurationSaveMode.Modified); 
ConfigurationManager.RefreshSection("appSettings"); 
1

Voici une solution de l'article How to change App.config file run time using C#

// Open App.Config of executable 

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

// Add an Application Setting. 

config.AppSettings.Settings.Remove("LastDateFeesChecked"); 

config.AppSettings.Settings.Add("LastDateFeesChecked",  
DateTime.Now.ToShortDateString()); 

// Save the configuration file. 

config.Save(ConfigurationSaveMode.Modified); 

// Force a reload of a changed section. 

ConfigurationManager.RefreshSection("appSettings"); 
+0

Verbatim copie non attribuée de http://chiragrdarji.wordpress.com/2008/09/25/how-to-change-appconfig-file -run-time-using-c / –

0

Je pense que le problème pourrait être vous n'avez pas vos paramètres de configuration comme "utilisateur-scope"