ConfigurationManager 不会将设置保存到 exe.config

Posted

技术标签:

【中文标题】ConfigurationManager 不会将设置保存到 exe.config【英文标题】:ConfigurationManager doesn't save settings to exe.config 【发布时间】:2012-01-21 02:08:46 【问题描述】:

(我的问题与this one类似,但代码略有不同,解决方案对我不起作用)

我正在尝试将设置更改保存到app.config

Dim config As System.Configuration.Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
config.AppSettings.Settings("HistoryRootDirectoryPath").Value = p_historySavingPath
config.Save(ConfigurationSaveMode.Modified)
ConfigurationManager.RefreshSection("appSettings")

任何内容都不会保存到 bin 文件夹中的 exe.config 文件中,也不会保存到实际的 app.config 文件中。我做错了什么?

【问题讨论】:

您是否遇到任何错误?例外?您是否同时查看了 DebugRelease 文件夹? @Oded:检查了调试和发布,没有抛出异常。 我发现它保存在“**.vshost.exe.config”中 啊。因为代码是在 Visual Studio 进程宿主下运行的。 【参考方案1】:

终于发现更改保存在.vshost.exe.config下。

正如Oded 提到的,那是因为代码是在Visual Studio 进程宿主下运行的。

请注意,一旦您停止进程运行,更改就会被还原。

【讨论】:

以上是关于ConfigurationManager 不会将设置保存到 exe.config的主要内容,如果未能解决你的问题,请参考以下文章

京雄高速将设智慧自动驾驶专用车道!

支持自动驾驶!京雄高速将设智慧驾驶专用车道,快来看→

输入两个很大的正数(用C字符串表示),输出他们的乘积,将设不考虑非法输入。

ConfigurationManager

app.config的坑

ConfigurationManager.AppSettings 缓存