So, da bin ich wieder - ich hatte das schöne Wetter für einen Ausflug genutzt.
tomo2403 hat folgendes geschrieben : |
Bei AppData funktioniert es auch nicht!
Er versucht außerdem das ganze unter D:\ zu speichern. (es soll aber C:\) |
Was gibt denn
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) zurück? Hast du deine System-Verzeichnisse auf mehrere Partitionen verteilt? Oder hat der aktuelle Benutzer nur spezielle Rechte?
Es gibt ja auch noch
SpecialFolder.CommonApplicationData sowie
SpecialFolder.LocalApplicationData, s.
Environment.SpecialFolder-Enumeration.
Trotzdem solltest du den Code von Ralf verwenden:
C#-Quelltext
1: 2: 3: 4: 5:
| public void Save(string path) { Directory.CreateDirectory(Path.GetDirectoryName(path)); } |
(denn wenn du diese Methode mit einem anderen Pfad als
folder aufrufst, dann würden ja nicht die passenden Unterverzeichnisse angelegt)
Und das Rechteproblem solltest du getrennt davon angehen (also z.B. kannst du als Benutzer über den Explorer in diesem Verzeichnis Unterverzeichnisse erstellen?).
PS: Warum speicherst du die serialisierten Daten unter ".dll" ab? ".config" oder ".txt" o.ä. wäre wohl passender.
Und zum Zusammensetzen von Pfaden solltest du generell
Path.Combine verwenden (
nicht + "\\...")!