Lesen der Schlüsselwerte des benutzerdefinierten Konfigurationsabschnitts in C #

Ich muss Schlüsselwerte aus benutzerdefinierten Abschnitten in app / web.config lesen.

Ich ging durch

Lesen eines Schlüssels aus der Web.Config mit ConfigurationManager

und

Wie kann ich mithilfe von C # eine Liste der benutzerdefinierten Konfigurationsabschnitte in der CONFIG-Datei abrufen?

Sie geben jedoch nicht an, wie ein benutzerdefinierter Abschnitt gelesen werden soll, wenn der Pfad zur Konfigurationsdatei explizit angegeben werden muss (in meinem Fall befindet sich die Konfigurationsdatei nicht am Standardspeicherort).

Beispiel meiner web.config-Datei:

<?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>

in dem ich Schlüsselwertpaare innerhalb MyCustomTag lesen muss.

Wenn ich es versuche (configFilePath ist der Pfad zu meiner Konfigurationsdatei): -

var configFileMap = new ExeConfigurationFileMap { ExeConfigFilename = configFilePath };

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

        ConfigurationSection section = config.GetSection(sectionName);

        return section[keyName].Value;

Ich erhalte die Fehlermeldung "Zugriff auf geschützten internen Indexer" this "hier nicht möglich" in Abschnitt [keyName]

Antworten auf die Frage(2)

Ihre Antwort auf die Frage