2009-07-27 66 views

Trả lời

20

Trong ASP.NET:

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

Trong WinForms:

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

khi tôi mở app.config nó không viết "x" và "đây là x" –

+0

đã giúp tôi ... :) –

+2

@monkey_boys: Khi chạy ví dụ: một ứng dụng hình thức giành chiến thắng từ VS, tệp .config có liên quan để tìm kiếm là: .vshost.exe.config, vì vậy nếu bạn đang tìm trong .exe.config thì bạn không thấy bất kỳ thay đổi nào . – Wout

1

Tôi biết bạn đặc biệt yêu cầu giải pháp WinForms nhưng điều này có thể giúp một số người khác. Đối với một ứng dụng giao diện điều khiển .NET 4.0, không có ứng dụng nào phù hợp với tôi. Vì vậy, tôi đã sử dụng sau đây và nó làm việc:

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"); 
} 
Các vấn đề liên quan