Создание пользовательских разделов в app.config

Я хочу сохранить некоторые пользовательские данные в файле конфигурации приложения, и мне нужно создать некоторые пользовательские разделы в 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

Ответ 1

Сначала переопределите 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();

Попробуйте.

Ответ 2

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