Benutzer mit den meisten Antworten
Frage zur Verwendung von Application.LocalUserAppDataPath in einer WinForm-Applikation

Frage
-
Hallo
Ich hätte eine Frage zu den Applikations-Pfaden einer (C#)-.Net-Anwendung / WinForm-Applikation. Meine Anforderung ist lokale Einstellungen (zum Beispiel die letzte Größe von Dialog-Fenster, oder Skin-Settings - die Einstellung der Farben in der Applikation usw...) zu speichern.
Jetzt habe ich einmal eine Pfad aus der "Application"-Klasse genutzt - nämlich:
.....
string fileAndPath = Path.Combine(Application.LocalUserAppDataPath, "LFsettingsMain.dat"); LookAndFeelSettings.Load(fileAndPath);
.....
Auch für die letzte Größe von Dialog-Fenster verwende ich "Application.LocalUserAppDataPath".
Jetzt meine Frage dazu - bei diesem Pfad wird immer auch der Release /Version-Nummer der Applikation verwendet. Wenn jetzt die Applikation getauscht wird und ein neuer Release kommt zum Einsatz, dann sind die letzten Einstellungen immer weg. Klar - die befinden sich dann ja in dem Vorgänger-Release-Verzeichnis.
Gibt es keine Property der Application-Klasse mit einem Pfad ohne der Release-Nummer? Oder sollte man sich diese selbst immer abschneiden, so dass nach dem "ProductName" Schluss wäre mit der Pfad-Angabe? - Sinnvoll .... oder nicht??
Danke schon mal für Rückmeldungen & schönen Gruß
Michael
Michael Erlinger
Antworten
-
Hallo,
ich würde in diesem Fall über die Environment-Klasse gehen. Folgender Code erstellt dir den gleichen Pfad ohne Versionsnummer:string fileAndPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
Wenn du die Versionsnummern ignorierst, musst du natürlich auch darauf achten, das Version 1 audf Dateien von Version 2 zugreifen könnte.
@"WindowsAPplication204\WindowsAPplication204\LFsettingsMain.dat");<Code-13/>- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite | Code Beispiele | Facebook | Twitter | Snippets C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort markiert M.Erlinger Donnerstag, 5. September 2013 08:01
Alle Antworten
-
Hallo,
ich würde in diesem Fall über die Environment-Klasse gehen. Folgender Code erstellt dir den gleichen Pfad ohne Versionsnummer:string fileAndPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
Wenn du die Versionsnummern ignorierst, musst du natürlich auch darauf achten, das Version 1 audf Dateien von Version 2 zugreifen könnte.
@"WindowsAPplication204\WindowsAPplication204\LFsettingsMain.dat");<Code-13/>- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite | Code Beispiele | Facebook | Twitter | Snippets C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort markiert M.Erlinger Donnerstag, 5. September 2013 08:01
-
Hallo
vielen Dank für Deine Rückmeldung.
Ja - ist mir klar, dass dann Version1 auf Dateien von Version2 zugreift; aber in diesem Fall ist es zum Beispiel für die letzte Größe und Position eines Dialog-Fensters wichtig, dass die wieder gleich aussieht wie vorher / auch wenn ein Version-Wechsel der Applikation passiert ist.
Schönen Gruß
Michael
Michael Erlinger