Dot-Net
從以前版本的 app.config 文件自動“升級”使用者設置?
每次我編譯我的應用程序並且版本號發生變化(我有一個自動遞增的內部版本號)時,我都會失去使用者配置的 app.config 設置,因為它們儲存在特定版本的 AppData 文件夾中。從本質上講,就使用者設置而言,我的應用程序的每個版本都是從頭開始的。
雖然這在開發中是一個輕微的煩惱,但當我接近部署/發佈時它提出了一個問題 -**如果我使用 app.config 來儲存我的使用者設置,使用者的個性化設置是否會在每次安裝更改版本的更新檔時被沖洗掉我的應用程序編號?**如果是這樣,是否有一種簡單的方法可以從以前的版本“升級”設置?我知道在系統資料庫中使用 HKCU 是另一種選擇,但我喜歡 My.Settings 命名空間的易用性,並且我想繼續使用 app.config。
另一個 SO question提出了類似的問題,儘管答案似乎並不那麼清楚。將我的 MSI 設置為要求使用者升級是否足以保留這些使用者級設置?
你看過ApplicationSettingsBase.Upgrade()嗎?它允許使用以下呼叫從以前的版本升級設置:
My.Settings.Upgrade()