Ich bin wirklich neu in .NET und habe immer noch nicht verstanden, wie Konfigurationsdateien funktionieren.
Jedes Mal, wenn ich bei Google danach suche, erhalte ich Ergebnisse zu web.config, aber ich schreibe eine Windows Forms-Anwendung.
Ich habe herausgefunden, dass ich den System.Configuration-Namespace verwenden muss, aber die Dokumentation hilft nicht.
Wie definiere ich, dass meine Konfigurationsdatei XYZ.xml ist? Oder hat es einen "Standard" -Namen für die Konfigurationsdatei? Das habe ich immer noch nicht verstanden.
Wie definiere ich einen neuen Abschnitt? Muss ich wirklich eine Klasse erstellen, die von ConfigurationSection erbt?
Ich möchte nur eine Konfigurationsdatei mit einigen Werten wie diesen haben:
<MyCustomValue>1</MyCustomValue>
<MyCustomPath>C:\Some\Path\Here</MyCustomPath>
Gibt es eine einfache Möglichkeit, dies zu tun? Können Sie auf einfache Weise erklären, wie man aus / in eine einfache Konfigurationsdatei liest und schreibt?
quelle
Antworten:
Sie möchten eine App.Config verwenden.
Wenn Sie einem Projekt ein neues Element hinzufügen, wird eine Anwendungskonfigurationsdatei angezeigt. Fügen Sie das hinzu.
Anschließend fügen Sie im Abschnitt Konfiguration / Appsettings Schlüssel hinzu
Mögen:
Greifen Sie auf die Mitglieder zu, indem Sie dies tun
Dies funktioniert in .NET 2 und höher.
quelle
ConfigurationSettings
veraltet ist, verwendenSystem.Configuration.ConfigurationManager.AppSettings["MyKey"];
.System.Configuration.ConfigurationManager
Ihr Projekt zu verwenden, benötigt einen Verweis aufSystem.Configuration.dll
Klarstellung früherer Antworten ...
Fügen Sie Ihrem Projekt eine neue Datei hinzu ( Hinzufügen → Neues Element → Anwendungskonfigurationsdatei )
Die neue Konfigurationsdatei wird im Projektmappen- Explorer als App.Config angezeigt .
Fügen Sie Ihre Einstellungen zu dieser Datei hinzu, indem Sie Folgendes als Vorlage verwenden
Rufen Sie sie folgendermaßen ab:
Bei der Erstellung enthält Ihr Ausgabeordner eine Datei mit dem Namen <Anordnungsname> .exe.config. Dies ist eine Kopie der App.Config- Datei. Der Entwickler sollte keine weiteren Arbeiten ausführen müssen, um diese Datei zu erstellen.
quelle
Nach einem kurzen Lesen der vorherigen Antworten sehen sie korrekt aus, aber es sieht nicht so aus, als hätte jemand die neuen Konfigurationsfunktionen in Visual Studio 2008 erwähnt. Es wird weiterhin app.config verwendet (zur Kompilierungszeit in YourAppName.exe.config kopiert). Es gibt jedoch ein UI-Widget, mit dem Sie Eigenschaften festlegen und deren Typen angeben können. Doppelklicken Sie im Ordner "Eigenschaften" Ihres Projekts auf " Einstellungen ".
Das Beste daran ist, dass der Zugriff auf diese Eigenschaft über Code typsicher ist. Der Compiler erkennt offensichtliche Fehler wie die falsche Eingabe des Eigenschaftsnamens. Auf eine Eigenschaft namens MyConnectionString in app.config wird beispielsweise wie folgt zugegriffen:
quelle
Settings.Default.Test = "abc"; Settings.Default.Save();
Sie sollten eine App.config- Datei erstellen (sehr ähnlich zu web.config ).
Sie sollten mit der rechten Maustaste auf Ihr Projekt klicken, ein neues Element hinzufügen und eine neue "Anwendungskonfigurationsdatei" auswählen .
Stellen Sie sicher, dass Sie mit System.Configuration in Ihrem Projekt hinzufügen.
Dann können Sie Werte hinzufügen:
Nur ein Hinweis: Laut Microsoft sollten Sie ConfigurationManager anstelle von ConfigurationSettings verwenden (siehe Abschnitt "Anmerkungen"):
quelle
Der Standardname für eine Konfigurationsdatei lautet [yourexe] .exe.config. Notepad.exe hat also eine Konfigurationsdatei mit dem Namen notepad.exe.config im selben Ordner wie das Programm. Dies ist eine allgemeine Konfigurationsdatei für alle Aspekte der CLR und des Frameworks. Sie kann jedoch Ihre eigenen Einstellungen unter einem
<appSettings>
Knoten enthalten.Das
<appSettings>
Element erstellt eine Sammlung von Name-Wert-Paaren, auf die als zugegriffen werden kannSystem.Configuration.ConfigurationSettings.AppSettings
. Es gibt jedoch keine Möglichkeit, Änderungen in der Konfigurationsdatei zu speichern.Sie können einer Konfigurationsdatei auch eigene benutzerdefinierte Elemente hinzufügen, um beispielsweise eine strukturierte Einstellung zu definieren,
IConfigurationSectionHandler
indem Sie eine Klasse erstellen, die diese implementiert, und sie dem<configSections>
Element der Konfigurationsdatei hinzufügen . Sie können dann telefonisch darauf zugreifenConfigurationSettings.GetConfig
..NET 2.0 fügt eine neue Klasse hinzu
System.Configuration.ConfigurationManager
, die mehrere Dateien unterstützt, wobei die Daten pro System vom Benutzer überschrieben werden. Es unterstützt auch das Speichern geänderter Konfigurationen in Einstellungsdateien.Visual Studio erstellt eine Datei
App.config
mit dem Namen, die beim Erstellen des Projekts mit dem richtigen Namen in den EXE-Ordner kopiert wird.quelle
Der beste (IMHO) Artikel über die Konfiguration von .NET-Anwendungen ist CodeProject, das die Geheimnisse der .NET 2.0-Konfiguration aufdeckt . Und mein nächster Lieblingsartikel (kürzer) über Abschnitte in den .NET-Konfigurationsdateien ist Grundlegendes zu Abschnittshandlern - App.config-Datei .
quelle
In Windows Forms haben Sie die
app.config
Datei, die der Datei sehr ähnlich istweb.config
. Da ich jedoch sehe, dass Sie es für benutzerdefinierte Werte benötigen, empfehle ich die Verwendung von Einstellungen .Öffnen Sie dazu Ihre Projekteigenschaften und gehen Sie zu den Einstellungen. Wenn keine Einstellungsdatei vorhanden ist, haben Sie einen Link zum Erstellen einer. Anschließend können Sie die Einstellungen zu der dort angezeigten Tabelle hinzufügen, wodurch sowohl das entsprechende XML als auch eine Einstellungsklasse generiert werden, mit der die Einstellungen geladen und gespeichert werden können.
Die Einstellungsklasse wird so etwas wie benannt
DefaultNamespace.Properties.Settings
. Dann können Sie Code ähnlich dem folgenden verwenden:quelle
Ich stimme den anderen Antworten zu, die Sie auf app.config verweisen. Anstatt Werte direkt aus app.config zu lesen, sollten Sie eine Dienstprogrammklasse erstellen (AppSettings ist der Name, den ich verwende), um sie zu lesen und als Eigenschaften verfügbar zu machen. Die AppSettings-Klasse kann verwendet werden, um Einstellungen aus mehreren Speichern zusammenzufassen, z. B. Werte aus app.config und Informationen zur Anwendungsversion aus der Assembly (AssemblyVersion und AssemblyFileVersion).
quelle
Eine sehr einfache Möglichkeit, dies zu tun, besteht darin, Ihre eigene benutzerdefinierte
Settings
Klasse zu verwenden .quelle
Verwenden:
AppSettings ist veraltet und gilt nun als veraltet ( Link ).
Außerdem wurde der Abschnitt appSettings der Datei app.config durch den Abschnitt applicationSettings ersetzt .
Wie bereits erwähnt, sollten Sie den für .NET 2.0 neuen System.Configuration.ConfigurationManager ( Link ) verwenden.
quelle
Welche Version von .NET und Visual Studio verwenden Sie?
Wenn Sie das neue Projekt erstellt haben, sollte Ihre Lösung eine Datei mit dem Namen app.config enthalten . Dies ist die Standardkonfigurationsdatei.
quelle