簡體   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