0

我有一个 WPF 应用程序,它允许用户从几个特定于环境的 .config 文件之一中进行选择。我通过部署每个 .config 文件的副本并简单地在现有 appname.exe.config 文件之上复制所选环境的配置文件来完成此操作,然后使用 ConfigurationManager 刷新已更改的部分(仅 appSettings 在此案子)。一切都很好,我已经确认该操作确实会使用正确的环境版本覆盖配置。

但是,当我退出 WPF 应用程序时,配置文件将恢复为原始版本。我已确认 WinForms 应用程序和执行相同类型的 .config 文件操作的控制台应用程序不会发生此行为。我还确认我的配置文件复制代码没有被意外重新执行。

有谁知道为什么会发生这种情况?

4

1 回答 1

0

这种行为是设计使然。

从 IDE 运行应用程序时,Visual Studio 会将.config文件从项目复制到文件bin夹(或将项目输出到的任何位置)。

在调试模式下,您必须避免弄乱配置文件。

于 2013-11-12T21:26:21.207 回答