tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
576
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    LutzBerillio LutzBerillio ist offline Mitglied
    Registriert seit
    Apr 2010
    Beiträge
    13
    Hallo Leute,

    ich versuche im Moment aus der app.config herraus eine externe meinTool.config zu laden.
    In der app.config hatte ich erst alle Informationen drinne und die liefen so auch 100%ig, allerdings muss die Werte aus der app.config von einem externen Tool aus ohne neukompilieren verändern können.

    Zum Aufbau:

    Ich habe in der app.config mehrere eigene Sections eingebaut die jeweils ein Attribut name und type haben
    Code :
    1
    2
    3
    
    <configSections>
    <section name="MeineSection" type="MeinTool.Configuration.Sections.DataExporterSection, MeinTool"/>
    </configSections>

    Danach nutze ich die definierten Tags:
    Code :
    1
    2
    
    <MeineSection DataExporter="MeinTool.ResourceExporter.ResourceFactory.Null.NullResourceFactory, MeinTool"
                                                 ExportPath="./exports"/>

    Zum Zugriff auf die in den Sections definierten Typen in meinem Tool habe ich mir einen Configuration-Wrapper geschrieben, der es mir ermöglicht diese Typen zu instanziieren (sämtliche Fehlerabfragen hab ich hier mal rausgelassen):
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
                MeineSection mySection = ConfigurationManager.GetSection("MeineSection") as MeineSection;
                
                Type type;
                try
                {
                    type = Type.GetType(mySection.DataExporter);
                }
                catch (Exception e)
                {   }
     
                object o = Activator.CreateInstance(type);
     
                return o as IResourceFactory;

    Soweit zum Aufbau...

    Ich hab mich jetzt schonmal an <appSettings file="meinTool.config"/> versucht, sowie an <connectionStrings...> Ich kriegs einfahc nicht gebacken, dass die externe Config eingeladen wird und ich dann auch die Typen instanziieren kann...

    Hoffe da kann mir hier jemand weiterhelfen...
     
    1337 * Math.Pi / 100 = THE ANSWER

  2. #2
    tequila slammer tequila slammer ist offline Mitglied Gold
    Registriert seit
    Aug 2006
    Beiträge
    204
    Warum brauchst du eine zweite .config, wenn du doch schon mit Sections arbeiten kannst? Andere Möglichkeit wäre, du legst dir eine Section an, wo der Pfad der .config drinsteht. Anschliessend kannst du diese ja nachladen.
     

  3. #3
    LutzBerillio LutzBerillio ist offline Mitglied
    Registriert seit
    Apr 2010
    Beiträge
    13
    Hey,

    ich benötige die 2. Config Datei um editieren aus einem anderen Tool. Es existiert Tool1 (konsolenbasiert und parametrierbar). Es soll nun ein Tool2 geben (GUI und grafisch parametrierbar) das Tool1 aufruft und konfigurieren kann.
    Nun kann ich ja von Tool2 aus nicht in der app.config von Tool1 rumhantieren. Daher dachte ich, das ich eine .config mache, die von Tool2 editierbar ist, und die die app.config von Tool1 einfach nur inkludiert.

    Was meinst du genau mit "nachladen"? Habe ich dann nicht das selbe Problem wie jetzt und kann auf die Sections nicht zugreifen?
     
    1337 * Math.Pi / 100 = THE ANSWER

  4. #4
    tequila slammer tequila slammer ist offline Mitglied Gold
    Registriert seit
    Aug 2006
    Beiträge
    204
    Meiner Meinung nach wird die jetzt angestrebte Lösung immer unsauber bleiben, weil du Konfigurationen für ein Programm in zwei Dateien hast. Alternativ kannst du deine Sektions doch von der Gui Applikation einfach mit dem xml der anderen app.config bearbeiten.
     

  5. #5
    LutzBerillio LutzBerillio ist offline Mitglied
    Registriert seit
    Apr 2010
    Beiträge
    13
    Hey,

    was meinst du mit
    Alternativ kannst du deine Sektions doch von der Gui Applikation einfach mit dem xml der anderen app.config bearbeiten.
    Wenn ich die app.conf im Visual Studio auf "Copy always" stelle, wird sie zwar mitkopiert in das Ausgabeverzeichnis, allerdings ist es der Anwendung doch egal, was dann da drinne steht...
    Die Variante, einfach die app.config anzupassen von dem Fremd-Tool aus wäre mir am liebsten, allerdings seh ich keinen Weg dahin...

    Dank dir schonmal für deine Antworten!

    Gruß
    Chris
     
    1337 * Math.Pi / 100 = THE ANSWER

  6. #6
    tequila slammer tequila slammer ist offline Mitglied Gold
    Registriert seit
    Aug 2006
    Beiträge
    204
    Was ich meine ist folgendes:

    Warum liest deine GUI-Applikation nicht die Konfiguration der anderen Applikation mit dem xml-Reader ein. Anschließend kannst du mit der GUI-Applikation die Einstellungen vornehmen und diese im eingelesenen xml-Objekt ändern. Zum Abschluss schreibst du alles mit dem xml-Textwriter wieder in die Konfigurationsdatei der anderen Applikation und alles ist prima.
     

  7. #7
    LutzBerillio LutzBerillio ist offline Mitglied
    Registriert seit
    Apr 2010
    Beiträge
    13
    Soweit würde das ja alles kein Problem darstellen, aber die andere Anwendung kriegt das doch nicht mit ob ich die app.config nun geändert habe oder nicht! Die wird doch nur beim kompilieren mit eingebunden (wenn ich das richtig verstanden habe)... Ich kann ja nicht jedes mal nachdem ich mit dem anderen GUI-Tool die conf des Konsolenprogramms angepasst habe die andere Anwendung kompilieren...
     
    1337 * Math.Pi / 100 = THE ANSWER

  8. #8
    tequila slammer tequila slammer ist offline Mitglied Gold
    Registriert seit
    Aug 2006
    Beiträge
    204
    Nein, die app.config wird nicht in das Programm kompiliert. Das würde auch keinen Sinn machen, da du darin ja deine ganzen Einstellungsvariablen anlegen sollst. Wäre dem so, kommt es einem Hardcodieren gleich.

    Die app.config wird nur im Ausgabeverzeichnis umbenannt in Anwendungsname.exe.config.
     

  9. #9
    LutzBerillio LutzBerillio ist offline Mitglied
    Registriert seit
    Apr 2010
    Beiträge
    13
    Ah, ok! Das funktioniert dann auch super! Wusste ich nicht...

    Dank dir!
     
    1337 * Math.Pi / 100 = THE ANSWER

Ähnliche Themen

  1. externen MC laden
    Von ManuelaFlash im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 10.08.09, 20:54
  2. Externen Inhalt richtig laden?
    Von KingChimera im Forum PHP
    Antworten: 0
    Letzter Beitrag: 03.06.08, 21:27
  3. externen Inhalt laden
    Von xkill im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 08.07.06, 12:13
  4. Zwei Texte aus zwei externen Dateien laden
    Von willmehrwissen im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 17.03.05, 16:26
  5. externen clip laden
    Von Twos im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 14.09.03, 14:11