Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Multiple app.config Dateien

  Alt 12. Jun 2007, 15:13
Du musst sie zusammenfügen, in eine Datei. Das ist ja dann die Config-Datei deiner Appliaktion und dorther kriegen auch alle referenzierten Assemblies ihre Konfigwerte.
Nehmen wir ann ich erzeuge eine App namens "Jelly.Config" und eine Classlib namens "Jelly.Config.ClassLibrary".
Der App gebe ich eine Appsetting namens "SomeAppSetting", der Classlib eine namens "SomeString".
In der Classlib habe ich nur das hier als Code:
Delphi-Quellcode:
uses
  Jelly.Config.ClassLibrary.Properties;

type
  SomeClass = public static class
  public
    class property SomeString : String
      read Settings.Default.SomeString;
  end;
Und in der app habe ich das hier:
Delphi-Quellcode:
Console.WriteLine('app setting: {0}', Settings.Default.SomeAppSetting);
Console.WriteLine('lib setting: {0}', SomeClass.SomeString);
Wenn ich jetzt beide Konfigdateien zusammenschiebe...
XML-Code:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="Jelly.Config.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
      <section name="Jelly.Config.ClassLibrary.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <applicationSettings>
    <Jelly.Config.Properties.Settings>
      <setting name="SomeAppSetting" serializeAs="String">
        <value>Miep!</value>
      </setting>
    </Jelly.Config.Properties.Settings>
    
    <Jelly.Config.ClassLibrary.Properties.Settings>
      <setting name="SomeString" serializeAs="String">
        <value>Hallihallo...</value>
      </setting>
    </Jelly.Config.ClassLibrary.Properties.Settings>
  </applicationSettings>
</configuration>
... bekomme ich den Output:
Code:
app setting: Miep!
lib setting: Hallihallo...
Geht also.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat