Ich habe ein seltsames Problem in unserem C# -Projekt, das beim Erstellen eines Verzeichnisses über IronPython-Skript auftritt. Dies ist der Code:IOException ("Datei oder Verzeichnis existiert bereits") beim Erstellen eines Verzeichnisses
targetTemplateDirectory = Path.Combine(Data, "Templates\\CheckedReports")
if not Directory.Exists(targetTemplateDirectory):
Directory.CreateDirectory(targetTemplateDirectory)
Das Problem ist ein IOException
mir zu sagen, dass es nicht möglich ist, den Ordner "H:\ProductName\Data\Templates\CheckedReports"
weil eine Datei oder ein Verzeichnis mit dem gleichen Namen existiert bereits zu erstellen.
Laut MSDN löst die Methode Directory.CreateDirectory()
keine Ausnahme aus, wenn das Verzeichnis bereits existiert.
Ich weiß, dass eine Datei mit dem Namen "CheckedReports
" der Grund für diese Ausnahme sein kann, aber es ist sehr, sehr unwahrscheinlich, dass der Kunde diese Datei manuell erstellt hat. Außerdem gibt es keine Codezeile, die neben dem erwähnten Skript das Wort "CheckedReports
" enthält. Darüber hinaus wird die Anwendung von einigen tausend Kunden verwendet, das Skript wird auf jeder Maschine ausgeführt und nur ein Kunde hat dieses Problem gemeldet.
Gibt es eine Möglichkeit, dass diese Ausnahme anders als eine Datei mit demselben Namen auftritt? Vielleicht etwas mit Berechtigungen, Wechselmedien oder Netzlaufwerken?
"aber es ist sehr, sehr unwahrscheinlich" ... angesichts der verfügbaren Informationen ist dies der wahrscheinlichste Grund. Können Sie nicht einfach überprüfen (oder lassen Sie den Kunden überprüfen), wenn eine Datei mit diesem Namen existiert? –
Ich wünschte ich könnte :). Die von diesem Kunden verwendete Anwendungsversion verfügt über ein Fehlermeldesystem, das keine persönlichen oder Kontaktinformationen zulässt. Das haben wir in einem späteren Update geändert. Wir haben also nur eine Nachricht erhalten, die den Stack-Trace und eine Maschinen-ID enthält, sonst nichts. –