Laden...

Aus Verzeichnis lesen aufgrund von Schreibschutz nicht möglich

Erstellt von Runshak vor 9 Jahren Letzter Beitrag vor 8 Jahren 1.593 Views
R
Runshak Themenstarter:in
71 Beiträge seit 2014
vor 9 Jahren
Aus Verzeichnis lesen aufgrund von Schreibschutz nicht möglich

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?

3.511 Beiträge seit 2005
vor 9 Jahren

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)

R
Runshak Themenstarter:in
71 Beiträge seit 2014
vor 9 Jahren

Danke, mal sehn, ob ich damit was anfangen kann

R
Runshak Themenstarter:in
71 Beiträge seit 2014
vor 8 Jahren

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);   
16.807 Beiträge seit 2008
vor 8 Jahren

Schau Dir mal Path.Combine an...