ich den folgenden Code haben einen Ordner für Dateien vorzubereiten ich generieren:Ist Directory.CreateDirectory asynchron oder was?
if (Directory.Exists(outputDir))
{
Directory.Delete(outputDir, true);
}
Directory.CreateDirectory(outputDir);
Wenn ich es normal laufen, genau jedes zweite Mal es funktioniert, und das andere Mal wirft er einen DirectoryNotFoundException
, auf der Linie:
File.WriteAllLines(filePath, CreateRows(TestLineCount, TestSampleCount));
sagen Could not find a part of the path 'C:\Dev\Android\Projects...
. Der letzte Ordner in der filePath
fehlt, weil ich ihn gelöscht habe, aber dann habe ich ihn neu erstellt, damit er immer da sein sollte. Wenn ich einen Breakpoint auf die Linie Directory.CreateDirectory(outputDir);
setze und es eine kleine Verzögerung gibt, funktioniert die App jedes Mal. Wenn ich eine automatische Verzögerung einschließe, d. H.
Es funktioniert auch jedes Mal. Sicherlich sollten alle diese Anrufe blockieren bis zum Ende, so dass die outputDir
immer da ist?
Können Sie umfassen die vollständige Stacktrace weil Create einen Scheck hat, kurz bevor es den Ordner zu überprüfen, zurückgibt, erstellt und wenn nicht wirft. Also frage ich mich, wo in der FileStream.Init es fehlschlägt, angenommen, dass die Methode an der Spitze der Aufrufliste ist. Auf welchem OS ist das übrigens? – rene
Bitte geben Sie den Code ein, der das Problem und die vollständige Ausnahme einschließlich der Aufrufliste tatsächlich reproduziert. Sie können es mit 'Exception.ToString()' bekommen. 'CreateDirectory' ist nicht asynchron. Arbeiten Sie vielleicht mit Remote-Freigaben? –