基本上问题是每次程序集版本更改(即用户安装新版本的应用程序)时,所有设置都会重置默认值(或者更准确地说,在具有不同版本的文件夹中创建新的user.config文件)号码作为名称)
升级版本时如何保持相同的设置,因为似乎不鼓励使用ini文件或注册表?
当我们使用Clickonce它似乎能够处理这个,所以它似乎应该能够完成,但我不知道如何.
ApplicationSettingsBase有一个名为Upgrade的方法,它可以迁移先前版本的所有设置.
为了在发布应用程序的新版本时运行合并,您可以在设置文件中定义默认为true的布尔标志.将其命名为UpgradeRequired或类似名称.
然后,在应用程序启动时,检查标志是否已设置,如果是,请调用Upgrade方法,将标志设置为false并保存配置.
if (Settings.Default.UpgradeRequired) { Settings.Default.Upgrade(); Settings.Default.UpgradeRequired = false; Settings.Default.Save(); }
阅读有关MSDN上升级方法的更多信息.如果您需要进行一些自定义合并,GetPreviousVersion可能也值得一看.