Laden...

Problem beim auslesen von appSettings aus der Konfigdatei!

Erstellt von sp00ky vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.111 Views
S
sp00ky Themenstarter:in
80 Beiträge seit 2008
vor 14 Jahren
Problem beim auslesen von appSettings aus der Konfigdatei!

Hi!

Ich möchte in meinem Projekt die appSettings zur Laufzeit auslesen. Ich ändere bereits erfolgreich den ConnectionString in den appSettings, aber ein auslesen einer anderen Einstellung will mir nicht gelingen.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
        <add name="XYZProg.Properties.Settings.XYZConnectionString"
            connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=XYZ2008;Integrated Security=True;User Instance=False"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
    <applicationSettings>
        <XYZProg.Properties.Settings>
            <setting name="License" serializeAs="String">
                <value>Max Mustermann</value>
            </setting>
        </XYZProg.Properties.Settings>
    </applicationSettings>
</configuration>
public static void ModifyConnectionString(string connectionString)
{
	System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
	config.ConnectionStrings.ConnectionStrings ["XYZProg.Properties.Settings.XYZConnectionString"].ConnectionString = connectionString;
	config.Save(ConfigurationSaveMode.Modified);
	ConfigurationManager.RefreshSection(config.ConnectionStrings.SectionInformation.Name);
	XYZProg.Properties.Settings.Default.Reload();
}
public static string GetLicenseString()
{
	System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
	return config.AppSettings.Settings["XYZProg.Properties.Settings.License"].Value; //Fehler: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
}

Quelle: Galileo Computing

Was mache ich falsch?

Gruß sp00ky

175 Beiträge seit 2006
vor 14 Jahren

Der Zugriff auf die Settings funktioniert so:


string lic = XYZProg.Properties.Settings.License;

So wie du's machst, könntest Du auf die "normalen" AppSettings zugreifen. In Deinem Fall müsste der Config-Eintrag dann so aussehen:


<add key="XYZProg.Properties.Settings.License" value="Max Mustermann" />

Gruss

S
sp00ky Themenstarter:in
80 Beiträge seit 2008
vor 14 Jahren

Ah... so einfach geht's. Danke!