2017-01-09 5 views
0

Ich versuche, Wert von appSettings Abschnitt app.config-Datei zu lesen. Ich kann nicht warum, aber ConfigurationManager lesen nur den ersten Schlüssel (log4net.Internal.Debug), in der Zwischenzeit brauche ich noch zwei weitere Schlüssel. Hier ist appSettings. HierConfigurationManager.AppSettings Lesen nur des ersten Schlüssels

<appSettings> 
    <add key="log4net.Internal.Debug" value="true" /> 
    <add key="SendGridUser" value="some value" /> 
    <add key="SendGridPassword" value="some value" /> 
    </appSettings> 

ist der Code:

var username = ConfigurationManager.AppSettings["SendGridUser"]; 
var password = ConfigurationManager.AppSettings["SendGridPassword"]; 
+0

Erhalten Sie einen Fehler oder einen Leerwert? –

+0

Es ist nichts falsch mit diesem Code. Das Problem liegt in dem Teil des Codes, den Sie uns nicht zeigen. – Sefe

+0

liest es immer den ersten Wert? – NicoRiff

Antwort

2

Wenn im Debug-Modus nur einen Schlüssel in AppSettings Sammlung zu sehen, dann bedeutet es, ConfigurationManager nicht Konfigurationsdatei zu lesen, die Sie denken, sie lesen sollten. Mögliche Gründe:

  • Sie nicht haben Sie ‚kopieren, wenn neuere‘ oder ‚Kopie immer‘ für Konfigurationsdatei Copy to Output Directory Einstellung ausgewählt. Daher wurde die Datei im Build-Ordner nicht aktualisiert.
  • Es ist transformation in der Datei für Debug Build, die einige Einstellungen aus der Konfig entfernt. Überprüfen Sie, ob Sie im Solution Explorer App.Debug.config haben.
+0

Sicherlich gibt es keine Umwandlung in dieser bestimmten app.config. Sie hatten Recht mit der Einstellung "In Ausgabeverzeichnis kopieren", aber das half auch nicht. –

+0

@ andrey.shedko hmm versuchen, die Lösung neu zu erstellen und zu überprüfen, was Sie in Projekt erstellen Ordner haben –

Verwandte Themen