Hallo
ich habe in folgendem Beitrag [FAQ] Pfad zur eigenen Anwendung (EXE) ermitteln
was gefunden und in mein Prog. eingebaut...
string portnummer;
portnummer = File.ReadAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location + "Portnummer.txt"));
Aber dann bekomme ich den Fehler, dass das nicht möglich sei, weil der Debug-Ordner schreibgeschützt ist...
Achtung: Aus dem Verzeichnis der EXE sollte nur gelesen, aber nicht dorthin geschrieben werden. Seit Windows Vista sind die Standardeinstellungen ohnehin so, dass ein Schreiben in Programmverzeichnise nicht möglich ist. Welches Verzeichnis stattdessen zum Schreiben verwendet werden sollte, hängt von der Art der Daten (temporäre Dateien, Konfigurationsdaten, Anwendungsdaten, Benutzerdaten ...) ab.
aber ich möchte ja eigentlich nur lesen...
gibt es da eine andere Möglichkeit oder eine Alternative?
Hi,
schau dir die Zeile noch mal genau an. Kleiner Tipp: Aus einem Verzeichnisnamen kann man kein Text lesen 😃. Ach ja, und verwende Path.Combine, dann passiert das auch nicht mehr.
Gruß
Khalid
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
der Vollständigkeit halber, hier noch meine Lösung die ich damals gefunden hatte...
FileInfo fi = new FileInfo(Application.ExecutablePath); // Pfad von .txt-Datei im Debug-Verzeichnis vom Server
string path;
path= fi.DirectoryName + "\\Portnummer.txt";
string portnummer;
portnummer = File.ReadAllText(path);
Schau Dir mal Path.Combine
an...
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code