Файл Settings.settings продолжает сбрасываться

Я добавлю пару этого, я не видел здесь, что влияют для меня:

  • Yourdon и Constantine, "Структурное проектирование". Все, что необходимо знать о разработке программного обеспечения, находится в здесь, если Вы готовы вырыть для нее немного.
  • Leonard Koren, "Wabi-Sabi: для Художников, Разработчиков, Поэтов & Философы". Прагматически настроенная красота балансировки философии и прагматизм.
9
задан Lenard 4 August 2009 в 17:30
поделиться

4 ответа

Хорошо, я нашел ответ, который действительно искал. По сути, вам нужно вызвать LocalFileSettingsProvider.Upgrade. Однако, поскольку я буду развертывать с помощью ClickOnce, он сделает это за вас автоматически.


Q: Хорошо, но как мне узнать, когда вызывать Upgrade?

A: Хороший вопрос. В Clickonce, когда вы устанавливаете новую версию своего приложения, ApplicationSettingsBase обнаружит ее и автоматически обновит настройки для вас в момент загрузки настроек. В случаях, не связанных с Clickonce, автоматическое обновление отсутствует - вам нужно вызвать обновление самостоятельно. Вот одна из идей для определения, когда вызывать Upgrade:

Задайте логическую настройку CallUpgrade и присвойте ей значение по умолчанию true. Когда ваше приложение запускается, вы можете сделать что-то вроде:

if (Properties.Settings.Value.CallUpgrade)
{
    Properties.Settings.Value.Upgrade();
    Properties.Settings.Value.CallUpgrade = false;
}

Это обеспечит вызов Upgrade () только при первом запуске приложения после развертывания новой версии.

REF: http: // blogs.msdn.com/rprabhu/articles/433979.aspx[12129 visible

12
ответ дан 4 December 2019 в 14:30
поделиться

Я считаю, что файлы Settings.settings сохраняются на основе текущего номера версии, в основном как «функция», при которой настройки не сохраняются между разными версиями одной и той же программы на машине. Предполагая, что вы автоматически увеличиваете номер версии при компиляции (1.0. * В AssemblyInfo.cs), вы будете сбрасывать свои настройки каждый раз при компиляции новой версии.

Чтобы исправить это, лучше всего будет сериализовать ваш собственный файл настроек в каталог Application Data.

2
ответ дан 4 December 2019 в 14:30
поделиться

Я думаю, что вы можете установить в свойствах файла (в Visual Studio щелкните правой кнопкой мыши, Свойства) параметр «не копировать» при сборке проекта / запустить. Вероятно, что происходит, когда ваш проект построен, файл настроек копируется в каталог отладочной корзины, перезаписывая файл настроек из предыдущего запуска.

0
ответ дан 4 December 2019 в 14:30
поделиться

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

0
ответ дан 4 December 2019 в 14:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: