Diese Zeile:Filestream kann nicht zum Lesen geöffnet werden, aber trotzdem kann ich die Datei kopieren?
using (FileStream fs = File.Open(src, FileMode.Open, FileAccess.Read, FileShare.Read))
wirft:
System.IO.IOException: Der Prozess kann nicht auf die Datei zugreifen 'X', weil es von einem anderen Prozess verwendet wird.
Wenn ich ersetzen Sie die Zeile mit:
File.Copy(src, dst, true);
using (FileStream fs = File.Open(dst, FileMode.Open, FileAccess.Read, FileShare.Read))
es funktioniert.
Aber warum kann ich kopieren, die sicher den gesamten Inhalt der Datei liest, während die Datei direkt zu lesen beschränkt ist? Gibt es eine Problemumgehung?
Was ist, wenn Sie 'FileShare verwenden.ReadWrite'? Wenn ein anderer Prozess Schreibzugriff hat, wird Ihre Anfrage fehlschlagen, wenn Sie nur den Lesezugriff zulassen. –
@SamiKuhmonen Ja! Aber warum? Oh, ich sehe ... –
Wenn es keine Duplikate für diese Frage gibt, löschen Sie es nicht. Es ist eine gültige Frage. –