Ich weiß, dass es viele Verweise auf app.config
in diesem Forum gibt, aber ich stelle diese Frage hier, da ich meine Frage sehr direkt finde.
Mein app.config
sieht folgendermaßen aus...
Ich habe den neuen CurrentLogFile
Schlüssel von der Settings.Settings
Designer-Seite als einen Application
Schlüssel hinzugefügt. Ich muss dies beim Start der Anwendung lesen und beim Ändern der Protokolldateinummer zur Laufzeit schreiben.
Der folgende Code, den ich geschrieben habe, kann den Setting
Schlüssel nicht neu schreiben. Es erstellt stattdessen einen vollständig neuen Eintrag in der Konfigurationsdatei:
int curLogFile = Settings.Default.CurrentLogFile;
curLogFile = curLogFile +1;
// Aktualisieren der neuen Protokolldateinummer zum Konfigurationsschlüssel "CurrentLogFile"
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
bool bReadOnly = config.AppSettings.Settings.IsReadOnly();
config.AppSettings.Settings.Remove("CurrentLogFile");
config.AppSettings.Settings.Add("CurrentLogFile", curLogFile.ToString());
// Speichern der Konfigurationsdatei.
config.Save(ConfigurationSaveMode.Modified);
// Erzwingen einer Neuladung einer geänderten Sektion.
ConfigurationManager.RefreshSection("appSettings");
Settings.Default.Reload();
Der neue CurrentLogFile
wird am Anfang der Konfigurationsdatei erstellt, gleich nach dem Schließtag von , wie unten dargestellt:
Dies erstellt doppelte Einträge des CurrentLogFile
Schlüssels (beide mit **
markiert, der neue oben).
Verwende ich die falsche Funktion zum Schreiben des Schlüssels?