我有一个 Win Form 应用程序,它将一些每个用户的设置存储在 UserSettings.Settings 文件中。到目前为止,这效果很好,但是当我发布更新时,设置文件似乎会被“重置”。我所做的ClickOnce
.
这是预期的行为吗?
我可以控制设置文件中的字段是否被覆盖吗?
有没有更好的方法来存储用户设置?
Thanks
当您发布更新时,更新后的应用程序应该调用ApplicationSettingsBase.Upgrade 方法 http://msdn.microsoft.com/en-us/library/system.configuration.applicationsettingsbase.upgrade.aspx从以前的版本移动值。这是一个类似的问题:自动从以前版本的 app.config 文件“升级”用户设置? https://stackoverflow.com/questions/1198193/automatically-upgrade-user-settings-from-previous-version-of-app-config-file
请记住,您应该只调用上述方法一次,因此您可能必须在设置中存储是否已经调用过升级,并执行如下操作:
if(!Settings.Default.Upgraded)
{
Settings.Default.Upgrade();
Settings.Default.Upgraded = true;
Settings.Default.Save();
}
另一种可能的解决方案是将设置存储在不依赖于应用程序版本的文件夹中。在这种情况下,您不会丢失值,也无需在版本之间升级设置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)