如何使用ConfigurationManager通过ClickOnce更新来持久保存app.config?

Mat*_*ley 6 c# clickonce configurationmanager app-config

这个问题说明我的问题正是,但我使用的自定义配置节app.configConfigurationManager,因此该解决方案提出了有不适...

基本上,我的问题是当ClickOnce更新应用程序时,它会使用新的app.config安装到不同的目录中,从而删除所做的任何更改.我的应用程序使用app.config来保存应用程序设置,所以这非常糟糕......合并的更新将非常出色(类似于在另一个问题中实现的),但是在这一点上几乎任何自动化都会很好.

或者我应该只为app.config文件使用设置位置而不是尝试使用默认位置?

Jam*_*Ide 3

ClickOnce 应该在更新之间维护用户设置,但由于未知原因(并且结果很糟糕),我已经失败了一两次。我还没有尝试过自定义配置设置,但我对 ClickOnce 不覆盖设置的能力失去了信心。

我计划使用的方法是手动处理 ClickOnce 更新而不是允许应用程序。检查更新并提示用户安装。我也有一些用户不接受更新,这很难恢复。通过手动处理更新,我希望能够在更新之前将用户设置读入内存,然后在更新完成后将它们写回内存。有一个 ApplicationUpdated 事件可以用于此目的。

也许这种方法也适合您。

编辑添加参考:

谷歌搜索 ApplicationDeployment 也应该有所帮助。