Ich schreibe eine Anwendung mit Windows Forms, .NET 4.6, mit einer Reihe von Einstellungen in der Laufzeit konfigurierbar. Das Ändern, Hinzufügen und Löschen von Einstellungen funktioniert innerhalb eines Laufs, aber alle Änderungen gehen verloren, wenn die App geschlossen wird. Ich benutze Properties.Settings.Default.Save() kurz vor dem Hauptfenster schließt:Wie ordnungsgemäß Properties.Settings.Default.Save() verwenden?
private void TestersList_FormClosing(object sender, FormClosingEventArgs e)
{
Properties.Settings.Default.Save();
}
A user.config Datei in AppData wie erwartet erstellt wird, sondern nur eine der Einstellungen dort gespeichert, unabhängig davon, was ich damit mache oder irgendeine andere Einstellung in der Laufzeit.
Alle Einstellungen sind im Benutzerbereich definiert und als Strings serialisiert. Ich sehe nichts, was den Erretteten anders macht als die anderen. Unten finden Sie ein Teil von app.config:
<userSettings>
<DailyChecklist.Properties.Settings>
<setting name="SerialPattern2" serializeAs="String">
<value>\d{10}_0_None</value>
</setting>
</setting>
<setting name="SerialPatternDebug" serializeAs="String">
<value>123456789</value>
</setting>
<setting name="TestersToIgnore" serializeAs="String">
<value>dummy;</value>
</setting>
<setting name="SerialPatternDefault" serializeAs="String">
<value>\D\d]{3}\D{2,3}\d{4}\d{5}</value>
</setting>
<setting name="ServerAdress" serializeAs="String">
<value>address/goes/here</value>
</setting>
</DailyChecklist.Properties.Settings>
</userSettings>
Und nach dem Speichern Ich habe dies in user.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<userSettings>
<DailyChecklist.Properties.Settings>
<setting name="TestersToIgnore" serializeAs="String">
<value>dummy;</value>
</setting>
</DailyChecklist.Properties.Settings>
</userSettings>
</configuration>
Wie kann ich es alle Einstellungen in user.config machen Speichern?
Vielen Dank im Voraus!
PS. Ich habe überprüft, dass es nicht der Bereich ist, ich habe kein "*" in Assembly-Informationen und die Datei, die ich überwacht habe, ist die einzige erstellte Datei (keine Version/Build-Nummer ändert sich). Es wird geändert (nach Notizblock ++) und wenn ich TesterToIgnore ändere, wird sein neuer Wert gespeichert, aber alle anderen Einstellungen fehlen.
Projekt> Eigenschaften> Registerkarte Einstellungen. Achten Sie auf die Spalte "Umfang". –
Hallo Hans, danke für deinen Kommentar, aber wie ich in der Frage geschrieben habe, sind alle Einstellungen im Benutzerbereich. Ich habe nichts im Anwendungsbereich. – Bogna