app.config未保存值
本文关键字:保存 config app | 更新日期: 2023-09-27 18:20:04
我的App.Config
类似于:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="foo" value=""/>
</appSettings>
</configuration>
我尝试使用以下方法保存foo
值:
private void SaveValue(string value) {
var config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings.Add("foo", value);
config.Save(ConfigurationSaveMode.Modified);
}
但这并没有改变它的价值。我也没有例外。如何解决这个问题?提前感谢!
使用Visual Studio进行调试时,可能会修改<yourexe>.vshost.exe.config
而不是<yourexe>.exe.config
。当您在Release模式下构建应用程序时,只有<yourexe>.exe.config
存在并且将被更新。
您的代码还将向配置文件中添加一个额外的节点。使用以下代码更新设置:
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["foo"].Value = "text";
config.Save(ConfigurationSaveMode.Modified);
App.config在生成时被复制到名为<yourexe>.exe.config
的输出文件夹中。这是在运行时加载和保存的实际配置文件。
在输出文件夹中查看一下,您可能会发现配置文件中包含您的更改。
尝试先删除旧值,然后再添加
config.AppSettings.Settings.Remove("foo");
config.AppSettings.Settings.Add("foo", value);
config.Save(ConfigurationSaveMode.Modified);