Laden...

App.Config: UserSettings auslesen? (VS 2005)

Erstellt von winx vor 16 Jahren Letzter Beitrag vor 16 Jahren 21.371 Views
W
winx Themenstarter:in
136 Beiträge seit 2007
vor 16 Jahren
App.Config: UserSettings auslesen? (VS 2005)

Hi,

wenn ich mir mittels meinen Projektoptionen unter Settings Konfigurationseinstellungen erstelle, sieht das in der app.config so aus:

[php]
<userSettings>
<MyProject.Properties.Settings>
<setting name="NewObjectName" serializeAs="String">
<value>CADOBJEKTTYP</value>
</setting>
<setting name="TableObjects" serializeAs="String">
<value>CADOBJEKTE</value>
</setting>
<setting name="TableTexts" serializeAs="String">
<value>CADTEXT</value>
</setting>
<setting name="TableVarTexts" serializeAs="String">
<value>CADVARTEXT</value>
</setting>
<setting name="TableGraphics" serializeAs="String">
<value>CADGRAPHIK</value>
</setting>
<setting name="TableBarcode" serializeAs="String">
<value>CADBARCODE</value>
</setting>
<setting name="ExcelFileDirectory" serializeAs="String">
<value>C:\Dokumente und Einstellungen\Administrator\Desktop\ExcelFiles</value>
</setting>
<setting name="CustomerFileName" serializeAs="String">
<value>Kunden.xls</value>
</setting>
</MyProject.Properties.Settings>
</userSettings>
[/php]

Wie kann ich nun aus dem SourceCode auf diese Settings zugreifen?

Habs so versucht:


ConfigurationManager.AppSettings["CustomerFileName"];

aber das klappt nicht. Es gibt aber leider keinen solchen aufruf:


ConfigurationManager.UserSettings["CustomerFileName"];

Wie kann ich denn meine Settings dann auslesen?

Danke,
winx

K
236 Beiträge seit 2007
vor 16 Jahren

Gehts mit: Properties.Settings.Default.XXXX ???

W
winx Themenstarter:in
136 Beiträge seit 2007
vor 16 Jahren

ganz genau so gehts 👍

Kann ich den irgendwie diese app.config auch von "außen" also ohne visual studio editieren?

149 Beiträge seit 2007
vor 16 Jahren

Hallo,
bin zwar selbst erst Anfänger, aber die Config Dateien sind ganz normale XML-Dateien und die kannst du mit jedem beliebigen Editor öffnen... wie z.B. den Windows-Editor 😁

Gruß

HD

Man lernt auch im Alter nie aus

Mit 37 Fachinformatiker
Mit 38 (im August) Programmierer

W
winx Themenstarter:in
136 Beiträge seit 2007
vor 16 Jahren

das is mir klar, tortzdem danke 😁 , hab aber gemeint mit ner "schönen" oberfläche, wie bspw die im Visual Studio...

oder ne andere Möglichkeit:

ich kann nun ja mit Properties.Settings.Default.NewObjectName den Wert auslesen.

Kann ich diesen Wert dann auch zur Laufzeit permanent setzen ?

149 Beiträge seit 2007
vor 16 Jahren

Also ich schmeiss nun einfach mal ein Code-Block rein, vielleicht kannst ja was mit Anfangen... aufjedenfall ist das so, das wenn man das Prog dann aufruft, der Eintrag dann in der XXX.exe.config steht.... wie was genau passiert kann ich leider nich sagen, weil das Kapitel rechte...hmmm... bescheiden erklärt ist 😉


using System;
using System.Collections.Generic;
using System.Collections;
using System.Configuration;
using System.Text;

namespace Kapitel9Lektion4
{
    class Program
    {
        static void Main(string[] args)
        {
            WriteSettings();
            Console.ReadLine();
        }

        public static void WriteSettings()
        {
            try
            {
                ConfigurationSection conSec;
                Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

                if (config.Sections ["LabSection"] == null)
                {
                    conSec = new LabSection();
                    config.Sections.Add("LabSection", conSec);
                    conSec.SectionInformation.ForceSave = true;
                    config.Save(ConfigurationSaveMode.Full);
                }
            }
            catch (ApplicationException ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
    }
}

Achso, LabSection ist eine Klasse, aber in der steht nichts drin.... und die normale App.config sieht so aus:


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key ="Foo" value ="Hello World"/>  
  </appSettings>
</configuration>

Vielleicht hast ja den Durchblick 🤔

Gruß

HD

P.S. und wegen XML-Editor schau hier mal:
http://www.soft-ware.net/internet/publishing/scripts/xml/index.asp

Man lernt auch im Alter nie aus

Mit 37 Fachinformatiker
Mit 38 (im August) Programmierer

W
winx Themenstarter:in
136 Beiträge seit 2007
vor 16 Jahren

und wie kann ich die geänderten Settings nun für die UserSettings speichern?

so gehts nicht:

            
Properties.Settings.Default.ExcelFileDirectory = "sfdjhfdsdf";
Properties.Settings.Default.Save();

hat da jemand nen Tipp?

N
4.644 Beiträge seit 2004
vor 16 Jahren
563 Beiträge seit 2004
vor 16 Jahren

Der Scope der Setting muss auf User und nicht Application sein, dann sollte das funktionieren. Wenn du die Settings unbedingt von Hand bearbeiten willst, dann drück doch einfach F7, wenn du in der Designermaske der Properties bist. VS bietet einen schönen XML-Editor =)

Gruss,
.unreal