我有一个 WPF 应用程序,它允许用户从几个特定于环境的 .config 文件之一中进行选择。我通过部署每个 .config 文件的副本并简单地在现有 appname.exe.config 文件之上复制所选环境的配置文件来完成此操作,然后使用 ConfigurationManager 刷新已更改的部分(仅 appSettings 在此案子)。一切都很好,我已经确认该操作确实会使用正确的环境版本覆盖配置。
但是,当我退出 WPF 应用程序时,配置文件将恢复为原始版本。我已确认 WinForms 应用程序和执行相同类型的 .config 文件操作的控制台应用程序不会发生此行为。我还确认我的配置文件复制代码没有被意外重新执行。
有谁知道为什么会发生这种情况?