繁体   English   中英

设置升级没有任何作用

[英]Settings Upgrade Does Nothing

我有一个 C# 应用程序,它使用多个用户设置来存储其数据。 当我增加应用程序的版本号时,这些设置将丢失并重置为其默认值。

这就是为什么我实现了以下代码

if (Settings.Default.UpgradeRequired)
{
    Settings.Default.Upgrade();
    Settings.Default.UpgradeRequired = false;
    Settings.Default.Save();
}

正如这里所建议的。

问题是:对 Upgrade() 的调用什么也不做。 它不会抛出异常,但也不会加载任何旧设置。 之后每个设置仍然具有其默认值。 此外,我的新应用程序版本将其设置存储在新文件夹中,就在旧设置的文件夹旁边。

我握错了吗? ;-)

PS:我检查了一组旧的设置是否以合理的值存储在磁盘上。 所以肯定有一些东西可以用于 Upgrade()。

似乎我找到了解决方案。 由于我的程序集不是强命名/签名的,因此每次更新我的应用程序时都会生成一个新的哈希值。 因此未找到旧设置且升级不起作用。

为了解决这个问题,我使用 .snk 文件签署了我的程序集。 这样散列现在保持固定,并且升级有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM