Lendo valores-chave da seção de configuração personalizada em c #

Preciso ler valores-chave de seções customizadas no app / web.config.

Eu atravessei

Lendo uma chave do Web.Config usando o ConfigurationManager

e

Como posso recuperar a lista de seções de configuração personalizada no arquivo .config usando c #?

No entanto, eles não especificam como ler uma seção personalizada quando precisarmos especificar explicitamente o caminho para o arquivo de configuração (no meu caso, o arquivo de configuração não está em seu local padrão)

Exemplo do meu arquivo 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>

em que eu preciso ler pares de valores-chave dentro do MyCustomTag.

Quando eu tento (configFilePath é o caminho para o meu arquivo de configuração): -

var configFileMap = new ExeConfigurationFileMap { ExeConfigFilename = configFilePath };

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

        ConfigurationSection section = config.GetSection(sectionName);

        return section[keyName].Value;

Eu recebo um erro dizendo "Não é possível acessar o indexador interno protegido 'this' here" na seção [keyName]

questionAnswers(2)

yourAnswerToTheQuestion