Wie kann ich eine separate Anwendungseinstellungsdatei dynamisch laden und mit den aktuellen Einstellungen zusammenführen?

Es gibt Fragen zuEinstellungen aus einer separaten Konfigurationsdatei lesen und andere, die ihm ähnlich sind, aber meine Frage ist spezifisch für Anwendungseigenschaftseinstellungen (d. h.<MyApplication.Properties.Settings> - siehe XML-Datei unten) und wie man sie dynamisch lädt. Ich habe die Methode ausprobiertdieser BeitragDies beinhaltete das Aktualisieren des gesamten appSettings-Abschnitts der Hauptkonfigurationsdatei, aber meine Anpassung warf Ausnahmen auf, da ich den appSettings-Abschnitt nicht ersetzte:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
// Have tried the other ConfigurationUserLevels to no avail
config.AppSettings.File = myRuntimeConfigFilePath;
config.Save(ConfigurationSaveMode.Modified); // throws ConfigurationErrorsException
ConfigurationManager.RefreshSection("userSettings");

Die ConfigurationErrorsException.Message lautet "Das Stammelement muss mit dem Namen des Abschnitts übereinstimmen, der auf die Datei 'appSettings' (C: \ myFile.xml, Zeile 2) verweist." Die Datei ist:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <userSettings>
        <MyApplication.Properties.Settings>
            <setting name="SineWaveFrequency" serializeAs="String">
                <value>6</value>
            </setting>
            <setting name="SineWaveAmplitude" serializeAs="String">
                <value>6</value>
            </setting>
        </MyApplication.Properties.Settings>
    </userSettings>
</configuration>

Gibt es eine Möglichkeit, die Werte aus dieser Datei in die zu importieren?MyApplication.Properties.Settings.Default Klasse, wobei das Framework die gesamte XML-Deserialisierung wie beim Laden der Konfigurationsdatei beim Start der Anwendung behandelt?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage