Konfigurationsdatei mit Visual Studio 2005

20/09/2007 - 09:40 von Martin Priebe | Report spam
Hallo,

ich nutze Visual Studio 2005 mit C# als Sprache.

Ich möchte eine Config Datei erstellen.

Wenn ich die "Config.settings" unter "Properties" benutze funktioniert das
ganz gut und ich kann immer mit ..
Properties.Config.Default auf meine Variablen zugreifen.

Wenn ich aber die Werte in der Datei von Hand anpasse hat meine Anwendung
dennoch die Default Werte.

Wie bekomme ich das hin das ich meine Werte in einer config Datei ablege und
diese auch per Hand àndern kann.
Also nicht mit der Anwendung.

(möglichst ohne direk die Datei als XML oder so einzulesen)


mfg
Martin
 

Lesen sie die antworten

#1 Frank Dzaebel
20/09/2007 - 10:13 | Warnen spam
Hallo Martin,

Wenn ich aber die Werte in der Datei von Hand anpasse
hat meine Anwendung dennoch die Default Werte.
Wie bekomme ich das hin das ich meine Werte in
einer config Datei ablege und diese auch per
Hand àndern kann. Also nicht mit der Anwendung.
(möglichst ohne direk die Datei als XML oder so einzulesen)



Eine ganz praktische Möglichkeit ist es, die
"Properties.Settings" an ein PropertyGrid zu binden
und nach Änderung im PropertyGrid durch "Props.Save()"
diese zu sichern:

Properties.Settings Props = Properties.Settings.Default;
private void Form1_Load(object sender, EventArgs e)
{
//MessageBox.Show(Props.MeinAppSetting);
//MessageBox.Show(Props.MeinUserSetting);
//Props.MeinUserSetting = "Neuer Wert von MeinUserSetting!";
//Props.Save();
propertyGrid1.SelectedObject = Props;
}


Beachte:
- die Standard-config-Datei ist beim Debuggen normal
die *.vshost.exe.config.
- wenn noch keine Properties mit Save gesichert
wurden, werden die aus der Standard-config genommen.
- die app.config wird normal beim Debug-Start in
target-config kopiert.
- Es gibt ggf. nach Save eine eine User.config.
Schau Dir ggf. mal den FilePath davon an:
//using System.Configuration; entsprechenden DLL-Verweis einbinden
Configuration config = ConfigurationManager.
OpenExeConfiguration(ConfigurationUserLevel.
PerUserRoamingAndLocal);
Process.Start("notepad", config.FilePath);


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen