在C#中保存对App.config的更改

时间:2015-12-18 18:35:35

标签: c# winforms

我创建了一个使用app.confing的Windows应用程序,并在需要时更新app.config。当我在调试模式下运行应用程序时,它工作正常,但在我创建.exe文件并安装后,它不再更新app.confing文件。

我取消选中启用Visual Studio托管流程,但没有运气。

这是我正在尝试的代码:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
//Updating the config values here 
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");

2 个答案:

答案 0 :(得分:1)

尝试调用此重载;

public void Save(
    ConfigurationSaveMode saveMode,
    bool forceSaveAll
)

传递forceSaveAll=true

答案 1 :(得分:1)

安装后检查应用程序配置是否托管在Program Files文件夹(或子文件夹)中。因为在调试模式下,您从一个具有写权限的位置运行,并且自安装后,应用程序配置(而非用户配置)通常位于Program Files中,您通常没有写入权限。您可以尝试以管理员身份运行应用程序以查看它是否在该模式下工作,或者只是检查该目录并检查登录的写入位(假设应用程序正在运行)。尝试手动修改该文件。如果你不能,那就是你的问题。