0
我有一個staging目錄,如果它在我的腳本中使用,我想要清理。代碼很簡單:Directory.Delete遞歸隨機失敗,說「目錄不空」
if (Directory.Exists(_stagingDir) &&
Directory.EnumerateFileSystemEntries(_stagingDir).Any())
{
Directory.Delete(_stagingDir, true);
}
有時候,IO異常會導致「目錄不爲空」。如果我遞歸刪除裏面的所有項目(這是true
應該在那個函數中做什麼),不應該這樣嗎?如果我將腳本恢復幾行並再次運行,它可以正常工作。
我唯一的猜測是EnumerateFileSystemEntries
正在鎖定一個文件,但我想我會得到一個很不同的例外(「訪問被拒絕」或「文件鎖定」或其他)。
呃...不知道爲什麼這不會發生在我身上。謝謝! –