Wenn man ein Programm lädt, kann man ja Einstellungen für Benutzer oder Anwendung in einer seperaten *.config Datei hinterlegen.
Wenn mein Programm Tool heißt und ich Variable "Startwert" als String für Anwendung hinterlegen will, werden die Einstellungen dafür in der Datei
Tool.exe.config im App-Ordner gespeichert.
Diese Tool.exe.config wird beim Programmstart geladen und ich kann in meiner Anwendung über
Tool.Properties.Settings.Default.Startwert auf den unter Startwert gespeicherten Wert zugreifen.
Jetzt das Problem.
Ich habe in meinem Programmordner 5 VerX.config Dateien für mein Programm vorbereitet. Aber ich kann beim Laden der .config keinen eigenen Dateinamen angeben. Im Programm wurde bisher auf die Tool.Properties.Settings.Default.Startwert zugegriffen. Jetzt möchte ich genauso zugreifen nur, dass dahinter im Programm wähltbar eine andere .config Datei steht.
Ok ich könnte natürlich bei Bedarf mir die benötigte .config in Tool.exe.config umbenennen, aber das muss doch auch besser gehen. Vor allem wenn ich in der Anwendung den Benutzer eine vorher erstellte Konfiguration auswählen lassen will.
Im Internet habe ich rausgefunden, das man sowas per:
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = @"my.config";
Configuration myConfig = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
KeyValueConfigurationCollection settings = myConfig.AppSettings.Settings;
lösen kann. Nur leider kann ich diese settings Variable nicht an meine Tool.Properties.Settings binden, um wieder wie vorher darauf zuzugreifen.
Hat jemand dazu eine Lösung, damit ich weiterhin per Tool.Properties.Settings.Default.Startwert auf die Einstellungswerte zugreifen kann?
Grüße Cornflake