IOException ("Datei oder Verzeichnis existiert bereits") beim Versuch, ein Verzeichnis zu erstellen

Ich habe ein komisches problem in unserem C# - Projekt, welches Auftritt, während Sie versuchen, ein Verzeichnis zu erstellen über die IronPython-Skript. Dies ist der code:

targetTemplateDirectory = Path.Combine(Data, "Templates\\CheckedReports")

if not Directory.Exists(targetTemplateDirectory):
    Directory.CreateDirectory(targetTemplateDirectory)

Problem ist IOException sagt mir, dass es nicht möglich ist, um den Ordner zu erstellen "H:\ProductName\Data\Templates\CheckedReports" weil Sie eine Datei oder ein Verzeichnis mit demselben Namen bereits vorhanden ist.

Laut MSDN die Methode Directory.CreateDirectory() löst keine Ausnahme aus, wenn das Verzeichnis bereits vorhanden ist.

Ich weiß, dass eine Datei mit dem Namen "CheckedReports" kann der Grund für diese Ausnahme ist, aber es ist sehr, sehr unwahrscheinlich, dass der Kunde erzeugt hat, die Datei manuell. Zusätzlich zu, dass es keine code-Zeile, die enthält das Wort "CheckedReports" (neben den genannten Skript). Darüber hinaus ist die Anwendung, die verwendet wird, um ein paar tausend Kunden, wird das Skript ausgeführt, auf jeder Maschine und nur einem Kunden berichtet, dieses Problem.

Gibt es irgendeine Möglichkeit für diese Ausnahme auftreten, andere als eine Datei mit dem gleichen Namen? Vielleicht etwas im Zusammenhang mit Berechtigungen, auf Wechselmedien oder Netzlaufwerke?

  • "aber es ist sehr, sehr unwahrscheinlich" ... doch, angesichts der verfügbaren Informationen, es ist der wahrscheinlichste Grund. Kann man einfach überprüfen (oder lassen Sie die Kunden-check), wenn eine Datei mit diesem Namen existiert?
  • Ich wünschte, ich könnte :). Die version der Anwendung, die dieser Kunde verwendet hat, hat einen Fehler-reporting-system das nicht zulässt, dass Sie keine persönlichen oder Kontaktinformationen. Wir geändert, dass in einem späteren update. So haben wir nur eine Nachricht mit den stack-trace und eine Computer-id, sonst nichts.
InformationsquelleAutor Emmett Brown | 2013-01-09
Schreibe einen Kommentar