Wie speichert man eigentlich schnell und einfach Einstellungen in C# Anwendungen? Diese Frage hat sich sicherlich jeder einmal in seiner C# Laufbahn gestellt und die Antwort ist so simpel. Am einfachsten geht es mit den AppSettings des ConfigurationManager im .Net-Frameworks.
Das .Net-Framework bringt nämlich gleich einen eigenen Manager zum verwalten und speichern von Einstellungen mit sich. Die Eigenschaften werden im gebräuchlichen XML-Format abgelegt. Und damit ihr seht, dass der Umgang mit den AppSettings wirklich ein Kinderspiel ist, habe ich euch zwei kleine Methoden zum Speichern/Ändern und Auslesen von Einstellungen geschrieben.
public string getAppSetting(string key) { //Laden der AppSettings Configuration config = ConfigurationManager.OpenExeConfiguration( System.Reflection.Assembly.GetExecutingAssembly().Location); //Zurückgeben der dem Key zugehörigen Value return config.AppSettings.Settings[key].Value; } public void setAppSetting(string key, string value) { //Laden der AppSettings Configuration config = ConfigurationManager.OpenExeConfiguration( System.Reflection.Assembly.GetExecutingAssembly().Location); //Überprüfen ob Key existiert if (config.AppSettings.Settings[key] != null) { //Key existiert. Löschen des Keys zum "überschreiben" config.AppSettings.Settings.Remove(key); } //Anlegen eines neuen KeyValue-Paars config.AppSettings.Settings.Add(key, value); //Speichern der aktualisierten AppSettings config.Save(ConfigurationSaveMode.Modified); }
Sieht doch ganz einfach aus, oder?
Viele Grüße,
Raffi
Not a game machine. Maybe in the future it’ll do even better in those areas, but for now it’s a fantastic way to organize and listen to your music and videos, and is without peer in that regard. The iPod’s strengths are its web browsing and apps. If those sound more compelling, perhaps it is your best choice.
Hi
ansich ganz einfach nur Funktioniert das nicht bei mir unter VS 2013 Ultimate. Ich suche jetzt schon seit Tage eine Möglichkeit werte in die App.config zu schreiben weil die danach Auszuführenden Exen. werte brauche um dann zb Menüstrip etc aufzubauen.
Was genau funktioniert denn nicht? Wird eine Fehlermeldung geworfen? Hast du probiert den entsprechenden Code mit einem try-catch-Block zu ummanteln?
Nee es kommt keine Fehler Meldung. Aber die AppConfig wird nicht beschrieben. Denn der Key Rechte ist immer noch auf default . Oder müss er nicht die AppConfig in dem Ordner überschreiben ?
Sorry, ich kann dir leider immer noch nicht ganz folgen. Wenn du möchtest und es sich nicht um ein “Geheimprojekt” handelt, kannst du mir gerne mal deinen Code zukommen lassen, dann schau ich mal drüber und debugge eine Runde. (Mailadresse findest du im Impressum bzw. auf der About-Seite.)
Hallo,
ich habe eine Frage, ob das Beispiel auch noch mit Visual Studio 2013 / .Net Framework 4.5 funktioniert und wenn ja, welche “using-Direktive” ich einbinden muss damit das Beispiel läuft. Denn wenn ich das so bei mir einbinde, sagt er das er z.B. “Configuration” (Zeile 4) nicht kennt.
Danke
Das funktioniert auch mit Visual Studio 2013.
Man muss den verweis System.Configuration setzen und dann im Sourcecode Using System.Configuration; einfügen. Schon funktioniert es
Danke,
könntest aber auch gerne mal posten wie ich zB eingaben speichere. zB. habe ich jetzt in TextboxName einen Namen stehen, der beim nächsten Start der Anwendung wieder da drinne stehen soll. :)
Klar, kann ich gerne machen. Artikel kommt dann aller Vorraussicht nach morgen. Möchtest du eine Info oder hast du den RSS-Feed eh abonniert?
Hab deinen Blog in der Opera Schnellwahl, da klick ich eh immer drauf *g Und danke schon mal!