Создание пользовательских разделов в 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>
.