C#: verwalten Sie Mehrere App.config-Dateien
Stehe ich vor einem problem.
Ich habe eine dll, die Interaktion mit einem webservice und speichert es seine endpoint-Konfiguration in der app.config-Datei.
Möchte ich mit dieser dll von meinem host-Anwendung. Die host-Anwendung hat seine eigene config-Datei. Ich fasse die Inhalte von dll ' s config zum host-config jedes mal, wenn ich ändern service-Endpunkt.
Gibt es eine Möglichkeit, dass ich beide config-Dateien. Also die dll verwendet seine eigene config in der Erwägung, dass host-Anwendung verwenden, seine eigene config.
Du musst angemeldet sein, um einen Kommentar abzugeben.
config-Dateien können mit externen Dateien.
Wenn Sie möchten, setzen Sie den Endpunkt der config auf eine externe Datei, und fügen Sie Sie dann in Ihrem host, die Sie nicht brauchen, um zu ändern der host-config jedes mal
zB:
in Ihrem app.config-Datei:
dann myEndpoint.config könnte wie folgt Aussehen:
haben Sie Zugriff auf die Werte aus dem code, ähnlich wie das Lesen der normalen app-Einstellungen, wie:
Den richtigen Weg ist die Zusammenführung der DLL-config-Datei in die EXE ' s; das wird funktionieren out of the box. Aber sehen .NET DLL-Einstellungen und Config, wenn es eine Web-Referenz - whats going on? für ein Weg, um explizit öffnen einer config-Datei und Lesen Sie es. Das problem ist, dass Sie brauchen, um zu FINDEN, die config-Datei zuerst, und das ist nicht unbedingt einfach. Wenn die DLL nur herumsitzen, Sie könnte prüfen, die im gleichen Verzeichnis. Aber wenn es in der GAC, wohin schauen Sie? Ich schlage vor, kleben auf den richtigen Weg.
Dies kann helfen, wenn Sie mit svcutil zu generieren proxy: überprüfen Sie die
/config:
und/mergeConfig
Schalter, mit denen Sie angeben können, welche config-Datei empfängt die generierte info und führen Sie es in statt nur dabei alles überschreiben, was schon da ist.