Я хочу чтения/записи (и сохранить) файл конфигурации приложения в программеConfigurationProperty недоступен из-за его уровня защиты
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"]);
B у, когда я использую ConfigurationManager.OpenExeConfiguration:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
ConfigurationSection section = config.GetSection("AdWordsApi");
Console.WriteLine(section["LogPath"]);
Я всегда получаю эту ошибку:
'System.Configuration.ConfigurationElement.this[System.Configuration.ConfigurationProperty]' is inaccessible due to its protection level
Но я знаю, GetSection не может сохранить конфигурацию на время выполнения программы, Как я уже сказал в начале : Я хочу сохранить конфигурацию во время выполнения программы, поэтому мне нужно использовать OpenExeConfiguration.
Я гугл в течение длительного времени, что я нашел, чтобы использовать AppSettings, но то, что я использую пользовательский раздел ..
Любые может объяснить, почему это «ConfigurationProperty недоступен» произошла ошибка? Благодаря
Edit:
Я поставил копию локального из системы и System.Configuration к правда
Я определил AdwordsSettings как подкласс ConfigurationSection, как вы сказали: http: //pastecode.com/jF, и программа останавливается здесь: string path = AdwordsSettings.Settings.LogPath с NullReferenceException (объект не установлен в экземпляр объекта) –
И когда программа останавливается там, я обнаружил AdwordsSettings.Настройки ** null ** в отладчике –
@gbstack, вы должны прочитать эту статью более подробно или просмотреть более похожие статьи, чтобы лучше понять конфигурационную систему, http://www.codeproject.com/KB/dotnet /mysteriesofconfiguration.aspx. Предполагается ваша первоначальная ошибка, так как вы неправильно понимаете, как читать раздел. –