Настройки.настройка дает различные значения в режиме отладки
Первая странность:
Мне действительно интересно, почему я получаю разные значения из файла Settings.settings
в режимах отладки и без отладки. Другими словами, я запускаю свое приложение в режимах без отладки (run - > start without debuging) и в режимах отладки (rub-> debug). И он всегда дает мне разные значения для одного и того же ключа в этих режимах.
Вторая странность:
Когда я изменяю значения, хранящиеся в файле Settings.settings
с моим приложением во время выполнения, значения не являются измененный. Я вижу предыдущие значения в этом файле, когда открываю его в Visual Studio. Обратите внимание, что я не забываю позвонить Default.Save()
, чтобы сохранить изменения.
В чем их причина? Почему они возникают и как их решить?
1 ответ:
Причина проста. При отладке запускается не само приложение, а процесс размещения Visual Studio, в котором выполняется код. Поскольку настройки относятся к исполняемому файлу, вы получаете для размещенного исполняемого файла VS Debugger различные ранее сохраненные настройки, как если бы вы запускали приложение напрямую.
Вы можете отключить это странное поведение, выбрав в своем
Свойства Проекта-Debug -
uncheck Enable Visual Studio Hosting Process.
Настройки являются неизменяемыми (только для чтения), если они являются областью применения . Когда вы вызываете save on settings with user scope, они будут сохранены в вашем профиле пользователя. Приложение.содержимое конфигурации никогда не изменяется, поэтому имеет смысл разрешить администратору только установку приложения. Позже пользователи могут изменить настройки, записав "diff" в свой локальный профиль пользователя.