2009-07-27 17 views
7

में app.config में कॉन्फ़िगरेशन को कैसे सहेजना है, क्या कोई मुझे C# और WinForms का उपयोग करके app.config में कुंजी/मान को सहेजने का उदाहरण दे सकता है?सी # Winforms

उत्तर

20

ASP.NET में: WinForms

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

में:

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

में जब मैं app.config खोलता हूं तो यह "x" नहीं लिखता है और "यह x है" –

+0

ने मेरी मदद की ... :) –

+2

@monkey_boys: उदाहरण चलते समय उदा। VS से एक विन फॉर्म एप्लिकेशन, प्रासंगिक .config फ़ाइल को देखने के लिए है: <मेरा एप्लिकेशन> .vshost.exe.config, इसलिए यदि आप .exe.config में देख रहे थे तो आपको कोई परिवर्तन नहीं दिखाई देता । – Wout

0

इस तरह कुछ हो सकता है: http://geekswithblogs.net/akraus1/articles/64871.aspx

+0

मैं क्यों ConfigurationManager वर्ग –

+1

ऐड नहीं कर सकते देखें: System.Configuration उपयोग करते हुए; उपयोग अनुभाग –

1

मैं जानता हूँ कि आप विशेष रूप से WinForms समाधान के लिए कहा , लेकिन यह कुछ अन्य लोगों की मदद कर सकता है। .NET 4.0 कंसोल एप्लिकेशन के लिए, इनमें से कोई भी मेरे लिए काम नहीं करता है। तो मैं निम्नलिखित का इस्तेमाल किया और यह काम किया:

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"); 
}