Я хочу чтение / запись (и сохранение) файл конфигурации приложения в программе
Файл app.config выглядит так:
<configuration>
<configSections>
<section name="AdWordsApi" type="System.Configuration.DictionarySectionHandler" requirePermission="false"/>
</configSections>
<AdWordsApi>
<add key="LogPath" value=".\Logs\"/>
...
</AdWordsApi>
</configuration>
Когда я использую ConfigurationManager.GetSection для чтения app.config, он работает:
var adwords_section = (System.Collections.Hashtable) System.Configuration.ConfigurationManager.GetSection("AdWordsApi");
Console.WriteLine((string)adwords_section["LogPath"]);
Но когда я использую ConfigurationManager.OpenExeConfiguration :
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
ConfigurationSection section = config.GetSection("AdWordsApi");
Console.WriteLine(section["LogPath"]);
Я всегда получаю эту ошибку:
'System.Configuration.ConfigurationElement.this [System.Configuration.ConfigurationProperty]' недоступен из-за уровня защиты
Но так как язнаете, GetSection не может сохранить конфигурацию во время выполнения программы, как я уже говорил в начале: я хочу сохранить конфигурацию во время выполнения программы, поэтому я должен использовать OpenExeConfiguration .
Iдавно гуглил, я обнаружил, что я должен использовать AppSettings, но я использую пользовательский раздел.
Кто-нибудь может объяснить, почему произошла ошибка «Недостаток ConfigurationProperty»?Спасибо
Редактировать:
Я установил Копировать локальный из Система и System.Configuration до true