【发布时间】:2019-02-09 02:04:23
【问题描述】:
我有一个 C# 应用程序,它使用多个用户设置来存储其数据。当我增加应用程序的版本号时,这些设置会丢失并重置为默认值。
这就是我实现以下代码的原因
if (Settings.Default.UpgradeRequired)
{
Settings.Default.Upgrade();
Settings.Default.UpgradeRequired = false;
Settings.Default.Save();
}
按照here的建议。
问题是:对 Upgrade() 的调用什么也没做。它不会抛出异常,但也不会加载任何旧设置。之后,每个设置仍然具有其默认值。 此外,我的新应用程序版本将其设置存储在一个新文件夹中,就在旧设置文件夹旁边。
我是不是拿错了? ;-)
PS:我检查了一组旧的设置以合理的值存储在磁盘上。所以肯定有一些东西可以用于 Upgrade()。
【问题讨论】:
-
你确定 UpgradeRequired 是真的吗?你试过检查previous values are available吗?