Потеря VB.NET "My.Settings" с каждым новым выпуском развертывания ClickOnce - PullRequest
4 голосов
/ 09 ноября 2009

Я использую встроенную функциональность My.Settings в VB.NET для сохранения настроек приложения.

Это очень удобно, но я замечаю, что каждый раз, когда я выпускаю новую версию, настройки теряются.

Почему и как я могу предотвратить это?

1 Ответ

9 голосов
/ 10 ноября 2009

Вам нужно вручную обновить настройки приложения, я использую этот простой метод:

  • Создайте логическую настройку с именем MustUpgrade, пользовательская область, по умолчанию - True.

Затем напишите метод, чтобы проверить, требует ли My.Settings обновление, и вызовите его метод Update (), если это так. Отметьте ваши настройки как обновленные и сохраните. Назовите это где-нибудь в загрузке вашего приложения. Метод Upgrade () обновит ваши Настройки до нового формата и перенесет ваши существующие значения поверх.

Sub UpgradeMySetings()
    If My.Settings.MustUpgrade Then
        My.Settings.Upgrade()
        My.Settings.MustUpgrade = False
        My.Settings.Save()
    End If
End Sub
...