以下代码有什么问题:
private static void UpdateAppSettings(string settingName, string settingValue)
{
if (settingName == null) throw new ArgumentNullException("settingName");
if (settingValue == null) throw new ArgumentNullException("settingValue");
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var appSettings = config.AppSettings;
var setting = appSettings.Settings[settingName];
setting.Value = settingValue;
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("AppSettings");
}
我不知道为什么它不保存新设置。它首先打开app.config文件。去了appsetting区域后。然后,它会将特定密钥视为settingName
,并将值更改为settingValue
。然后,它会保存文件并刷新它。它几乎可以工作;最高为config.Save(...)
。但在那之后我不知道会发生什么。
答案 0 :(得分:1)
此question似乎与您要求的相同。
答案看起来是这样的:
config.AppSettings[settingName] = settingValue;
编辑:
This question有我认为的答案
config.AppSettings.Settings[settingName]