Laden...

[erledigt] Config-Datei während Laufzeit aus externer Datei abrufen

Erstellt von dbstudios vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.459 Views
D
dbstudios Themenstarter:in
6 Beiträge seit 2012
vor 11 Jahren
[erledigt] Config-Datei während Laufzeit aus externer Datei abrufen

Hallo,
ich stehe derzeit vor folgendem Problem:

Das Programm bezieht gewisse Informationen aus der app.config, allerdings soll die Möglichkeit gegeben sein während der Laufzeit des Programms eine andere Config (über einen FileDialog, also auch außerhalb des Programmverzeichnisses) auszuwählen und zu laden.

Besteht die Möglichkeit? Nach meinem Kenntnisstand bringt der ConfigurationManager das nicht mit.

Würde mich sehr über ein paar Tipps freuen!

Beste Grüße

B
357 Beiträge seit 2010
vor 11 Jahren

Warum auch nicht? Ist halt etwas mehr Handarbeit, aber gehen tut sowas generell schon. Was für Tipps du da speziell im Sinn hast, weiß ich allerdings nicht. Wäre vielleicht hilfreich, wenn du etwas mehr ausführst, was du genau vor hast.

D
dbstudios Themenstarter:in
6 Beiträge seit 2012
vor 11 Jahren

Warum auch nicht? Ist halt etwas mehr Handarbeit, aber gehen tut sowas generell schon. Was für Tipps du da speziell im Sinn hast, weiß ich allerdings nicht. Wäre vielleicht hilfreich, wenn du etwas mehr ausführst, was du genau vor hast.

Man soll die Möglichkeit haben, während der Laufzeit eine andere Config-Datei zu laden, welche sich z.B. durch unterschiedliche Sections/bzw. Pfadangaben unterscheiden.

Jetzt ist eben meine Frage wie ich das erreichen kann. Der ConfigurationManager sucht diese Config-File ja ausschließlich im Projektverzeichnis, also dort wo die *.exe liegt, jedoch möchte ich, dass man diese Configs auch aus jedem anderen Ordner auf dem System aufrufen/laden könnte um dann mit den Werten die in selbigen festgeschrieben sind, zu arbeiten. Also benötige ich scheinbar einen Workaround, aber mir fehlt gerade jeglicher Ansatz wie ich das erreichen kann.

225 Beiträge seit 2005
vor 11 Jahren

Vielleicht kann Dir das etwas helfen...

ConfigurationManager.OpenExeConfiguration Method (String)

6.911 Beiträge seit 2009
vor 11 Jahren

Hallo dbstudios,

hier könnte es einfacher sein auf XML-Dateien zu setzen.
Das Auslesen der XML kann dann per Linq2Xml, XML-Deserialisierung, etc. verfolgen.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

W
872 Beiträge seit 2005
vor 11 Jahren

Wuerde mir an Deiner Stelle mal FileSystemWatcher anschauen.
Mit einem Neuladen der "Standard-Konfiguration" habe ich schlechte Erfahrungen gemacht - ich wuerde Dir auf jeden Fall eine Custom-Section in der Konfig-Datei empfehlen.

D
dbstudios Themenstarter:in
6 Beiträge seit 2012
vor 11 Jahren

Danke für eure Hilfe! Konnte das ganze jetzt mit

ConfigurationManager.OpenMappedExeConfiguration

lösen und es funktioniert tadellos, jedenfalls wird die neue Config während der Laufzeit problemlos geladen.

Thema hat sich somit erledigt!

Beste Grüße