Запись пользовательских разделов в app.config - PullRequest
10 голосов
/ 23 марта 2010

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

Для чтения данных из пользовательского раздела app.config я использовал информацию из этой статьи:

http://devlicio.us/blogs/derik_whittaker/archive/2006/11/13/app-config-and-custom-configuration-sections.aspx

Ответы [ 2 ]

5 голосов
/ 23 марта 2010

Вы действительно не должны ничего писать в app.config, потому что если вы это сделаете, то вы ограничиваете использование своего приложения только для администраторов. Рекомендуется записывать настройки в отдельный файл .config, расположенный в папке профиля пользователя, например, <profiles>\<user name>\Application Data\<your product name>.

4 голосов
/ 23 марта 2010

Первое переопределение IsReadyOnly() в вашем CustomConfigSection для возврата false.

Как только вы это сделаете, вы сможете сделать что-то вроде этого (это для ASP.NET, но это может быть переносимо):

System.Configuration.Configuration configFile = WebConfigurationManager.OpenWebConfiguration("~");
CustomConfigSection config = (CustomConfigSection)configFile.GetSection("Custom");
config.Tweak = 1;
config.Change = "foo";
configFile.Save();

Дайте это попробовать.

...