Ich kann nicht auf Werte in der Konfigurationsdatei zugreifen.
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var clientsFilePath = config.AppSettings.Settings["ClientsFilePath"].Value;
// the second line gets a NullReferenceException
.config Datei :
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!-- ... -->
<add key="ClientsFilePath" value="filepath"/>
<!-- ... -->
</appSettings>
</configuration>
Haben Sie einen Vorschlag, was ich tun soll?
System.Configuration
.System.Configuration
hat nichtConfigurationManager
Die Antwort, die dtsg gab, funktioniert:
ABER, müssen Sie eine hinzufügen Montage Bezug auf
Gehen Sie zu Ihrem Projektmappen - Explorer und der rechten Maustaste auf Verweise und wählen Sie Verweis hinzufügen . Wählen Sie die Baugruppen aus Registerkarte und suchen Sie nach Konfiguration .
Hier ist ein Beispiel von mir App.config :
Was Sie auf folgende Weise erhalten können:
quelle
System.configuration
(Kleinbuchstaben).Probieren Sie es aus:
quelle
Aus Konfiguration lesen:
Sie müssen einen Verweis auf Config hinzufügen
In Konfiguration speichern:
quelle
null
Zeichenfolge mit den oben genannten Empfehlungen,Properties.Settings.Default.<keyName>
arbeitete aber wie ein Zauber!Ich benutze:
Wobei value1 = ... und value3 = ... null ergibt und value2 = ... funktioniert
Dann habe ich beschlossen, die interne app.config durch zu ersetzen:
Verwenden von VS2012 .net 4
quelle
Stellen Sie in der
app/web.config
Datei die folgende Konfiguration ein:Dann können Sie in Ihrem Code darauf zugreifen, indem Sie diese Zeile eingeben:
* Beachten Sie, dass dies gut für
.net4.5.x
und funktioniert.net4.6.x
; aber nicht arbeiten für.net core
. Viele Grüße: Rafaelquelle
Ich komme nach langer Zeit wieder darauf zurück ...
Angesichts des Niedergangs von ConfigurationManager für alle, die noch nach einer Antwort auf diesen Versuch suchen (zum Beispiel):
Benötigt natürlich System.Configuration.
(Der Code wurde so bearbeitet, dass er tatsächlich funktioniert und einfacher zu lesen ist.)
quelle
Sehen Sie, ich habe getan, was ich für das Offensichtliche hielt:
Während das kompiliert wird, gibt es immer null zurück.
Dies funktioniert jedoch (von oben):
quelle
Einige der Antworten scheinen ein wenig von IMO abzuweichen. Hier ist meine Einstellung um 2016
Stelle sicher
System.Configuration
verwiesen wird.Die Frage fragt nach dem Wert eines Appsettings Schlüssels
Was mit Sicherheit sein sollte
Hier ist eine Wendung, in der Sie Werte gruppieren können (nicht für diese Frage)
emails
wird der Wert des Umgebungsschlüssels + "_Emails" seinquelle
Für Webanwendungen schreibe ich normalerweise diese Methode und rufe sie einfach mit dem Schlüssel auf.
quelle
Sie können einfach Folgendes eingeben:
weil
key
ist ein Objekt undAppSettings
nimmt eine Zeichenfolgequelle
quelle
Oder Sie können entweder verwenden
quelle
Mein einfacher Test schlug ebenfalls fehl, gemäß den Anweisungen der anderen Antworten hier - bis mir klar wurde, dass die Konfigurationsdatei, die ich meiner Desktopanwendung hinzugefügt habe, den Namen "App1.config" erhielt. Ich habe es in "App.config" umbenannt und alles hat sofort so funktioniert, wie es sollte.
quelle
CODE WIRD AUTOMATISCH ERZEUGT
Um einen Wert zu erhalten
Properties.Settings.Default.Name
ODER
Properties.Settings.Default ["name"]
quelle