Entwickler-Ecke
IO, XML und Registry - Konfigurationsdatei lesen (komme nicht drauf...)
Dhakiyah - Do 02.07.15 10:59
Titel: Konfigurationsdatei lesen (komme nicht drauf...)
Hallo!
Ich versuche mich gerade an der Konfigurationsdatei in C#...
Kenne das leider so gar nicht, wir haben immer mit INI-Dateien gearbeitet...
Wie auch immer.
Ich habe in der App.Config eine Variable angelegt und wollte diese jetzt im Code ansprechen.
Es funktioniert aber nicht.
Diese ist als Benutzervariable angelegt. Wenn ich sie als Anwendungsvariable abspeichere geht es...
Was mache ich falsch?
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Configuration;
namespace Test_Config { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { string s_hilf = ConfigurationManager.AppSettings["Variable1"]; textBox1.Text = s_hilf; } } } |
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="Test_Config.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> </sectionGroup> </configSections> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <userSettings> <Test_Config.Properties.Settings> <setting name="Variable1" serializeAs="String"> <value>Hallo Jasmin</value> </setting> </Test_Config.Properties.Settings> </userSettings> </configuration> |
Th69 - Do 02.07.15 11:52
In deinem Projekt müßte unter dem Ordner Properties die Datei "Settings.cs" liegen.
Du kannst dann vom Programm aus direkt auf die (dadrin enthaltene) Klasse zugreifen:
C#-Quelltext
1:
| string s_hilf = Properties.Settings.Default.Variable1; |
Dhakiyah - Do 02.07.15 12:13
Jopp, das war es...
Wann verwende ich dann:
C#-Quelltext
1:
| Properties.Settings.Default.Variable1 |
bzw. :
C#-Quelltext
1:
| ConfigurationManager.AppSettings["Variable1"] |
???
Palladin007 - Do 02.07.15 12:23
Die erste Variante ist richtig.
Der ConfigurationManager ist soweit ich weiß dafür da, eigene Daten mit einer eigenen Struktur in die config zu legen.
Ralf Jansen - Do 02.07.15 13:34
Eigentlich brauchst du das nur wenn du Dinge tun willst die man eigentlich nicht tun sollte. Zum Beispiel wenn du globale (nicht userabhängige) Einstellungen ändern willst. Die wären über die generierten Klassen read only. Oder du willst eine Konfig haben die nicht an der Anwendung hängt sondern an was anderes. Zum Beispiel wenn du eine eigene Assembly bereithälts (die man in anderen Anwendungen verwenden können soll) mit einer Konfiguration verteilen willst.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!