Поздравления всем! Это мой первый вопрос по stackoverflow. У меня есть приложение WPF, которое я пишу для других разработчиков в моем отделе, и есть несколько настроек, которые мне нужно проверить при запуске и обновить, если они не установлены (один из них - расположение исполняемого файла для пользователей компьютер, он есть у всех, только не в одном месте). Поэтому, когда мое приложение запускается в первый раз, мне нужно открыть средство выбора файлов, чтобы они выбрали местоположение.
Что мне нужно сделать, так это записать его местоположение в appSettings, но я просто не могу его понять, и вчера вечером я довольно усердно искал в Google, пытаясь найти способ сделать это. Большинство ответов, которые я видел, связаны с чтением файла app.config как прямого XML, и это кажется неправильным.
Итак, мне просто нужен способ обновить значения в appSettings для моего приложения. Я прекрасно умею их читать, просто не понял, как им писать. Спасибо большое!
Джеймс





Вы изучили класс ConfigurationManager? Он обеспечивает более надежный интерфейс для файла app.config, и вы можете сделать что-то вроде этого:
Configuration oConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
oConfig.AppSettings.Settings["PreferenceToRemember"].Value = "NewValue";
oConfig.Save(ConfigurationSaveMode.Full);
ConfigurationManager.RefreshSection("appSettings");
Просто не забудьте импортировать System.Configuration в свой проект. По умолчанию он не добавляется.
Хм, это странно. Что произойдет, если вы запустите его вне режима отладки?
У меня такая же проблема. Убедитесь, что вы используете ConfigurationSaveMode.Minimal или Full, а не ConfigurationSaveMode.Modified, если вы добавляете новое значение.
Спасибо @Twisternhra. Я обновил код соответствующим образом.
Взгляните на класс конфигурации и Корпоративная библиотека. Вы можете найти подробную инструкцию здесь.
Я использую это (хотя в режиме отладки), и он сохраняет значения «в памяти», но никогда не записывает их в файл. Есть идеи?