Настройки приложения в области действия пользователя всегда сбрасываются на значения по умолчанию - PullRequest
1 голос
/ 28 мая 2009

У меня есть приложение WinForms, которое использует функцию «Настройки» .NET 2, но значения параметров области действия пользователя, сохраненные в приложении, часто заменяются значениями по умолчанию, хранящимися в классе «Настройки». Давным-давно я где-то нашел руководство, которое связывало это с автоматически увеличивающимся номером сборки, и я подозреваю, что это правда. Тем не менее, указанное руководство предложило следующий код, но каким-то образом мои настройки продолжают сбрасываться.

В настоящее время я решаю слишком много других вопросов, чтобы углубиться в это, но я подумал, что разберусь с этим вопросом и посмотрим, сможет ли кто-нибудь помочь мне и всем остальным с этой проблемой.

    private void Form1_Load(object sender, EventArgs e)
    {
        UpgradeSettings();
        GetSettings();
    }

    private void UpgradeSettings()
    {
        if (Properties.Settings.Default.CallUpgrade)
        {
            Properties.Settings.Default.Upgrade();
            Properties.Settings.Default.CallUpgrade = false;
        }
    }

Ответы [ 2 ]

1 голос
/ 01 апреля 2011

Вы должны изменить UpgradeSettings следующим образом. Начальное значение CallUpgrade должно быть истинным (в настройках пользователя).

private void Form1_Load(object sender, EventArgs e)
{
    UpgradeSettings();
    GetSettings();
}

private void UpgradeSettings()
{
    if (Properties.Settings.Default.CallUpgrade)
    {
        Properties.Settings.Default.Upgrade();
        Properties.Settings.Default.Reload(); // to activate the settings
        Properties.Settings.Default.CallUpgrade = false;
        Properties.Settings.Default.Save();// to save the new value of CallUpgrade            
    }
}
0 голосов
/ 29 мая 2009

CallUpgrade по умолчанию имеет значение true? Вызов Upgrade () должен перенести настройки по номерам сборки.

Другой подход заключается в использовании фиксированных номеров сборки. При необходимости вы можете вручную изменить файл AssemblyInfo.cs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...