Как сохранить настройки проекта между выполнениями программы? - PullRequest
1 голос
/ 25 февраля 2009

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

public static class SettingsManager
    {
        public static string ComplexValidationsString
        {
            get { return (string)Properties.Settings.Default["ComplexValidations"]; }
            set { Properties.Settings.Default["ComplexValidations"] = value; }
        }

        //some more
    }

После установки значения и закрытия приложения значение было потеряно. Есть ли подобный способ сделать это, чтобы сохранить значение? Однажды я видел какой-то код для замены данных, записанных в конфигурационном файле, поэтому я полагаю, что есть способ.

Ответы [ 2 ]

8 голосов
/ 25 февраля 2009

Это так же просто, как

Properties.Settings.Default.Save();

Вы можете положить это в вас static void Main() метод

3 голосов
/ 25 февраля 2009

В дополнение к ответу ybo вы должны знать, что .NET сохраняет файл настроек в папке, которая относится как к тому месту, откуда вы запустили приложение, так и к номеру версии.

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

 Settings.Default.GetPreviousVersion("MyPropertyName");

Вам необходимо запомнить SettingsPropertyNotFoundException, если вы добавили новые свойства с более ранней версии.

...