Чтение значений ключа пользовательского раздела конфигурации в C #

Мне нужно прочитать значения ключей из пользовательских разделов в app / web.config.

я прошел сквозь

Чтение ключа из Web.Config с использованием ConfigurationManager

а также

Как я могу получить список пользовательских разделов конфигурации в файле .config, используя C #?

Тем не менее, они не указывают, как читать пользовательский раздел, когда нам нужно явно указать путь к файлу конфигурации (в моем случае, файл конфигурации не находится в его расположении по умолчанию)

Пример моего файла web.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <MyCustomTag> 
    <add key="key1" value="value1" />
    <add key="key2" value="value2" />
  </MyCustomTag>
<system.web>
  <compilation related data />
 </system.web> 
</configuration>

в котором мне нужно прочитать пары ключ-значение внутри MyCustomTag.

Когда я пытаюсь (configFilePath это путь к моему файлу конфигурации): -

var configFileMap = new ExeConfigurationFileMap { ExeConfigFilename = configFilePath };

var config =
          ConfigurationManager.OpenMappedExeConfiguration(
            configFileMap, ConfigurationUserLevel.None);

        ConfigurationSection section = config.GetSection(sectionName);

        return section[keyName].Value;

Я получаю сообщение об ошибке "Не удается получить доступ к защищенному внутреннему индексатору 'this' здесь" в разделе [keyName]

Ответы на вопрос(2)

Ваш ответ на вопрос