Я использую .NET 3.5, пытаясь рекурсивно удалить каталог, используя:
Directory.Delete(myPath, true);
Я понимаю, что это нужно, если файлы используются или есть проблема с разрешениями, но в противном случае он должен удалить каталог и все его содержимое.
Однако иногда я получаю следующее:
System.IO.IOException: The directory is not empty.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive)
...
Я не удивлен, что метод иногда бросает, но я удивлен, получив это конкретное сообщение, когда рекурсивная правда. (Я знаю, что каталог не пуст.)
Есть ли причина, по которой я вижу это вместо AccessViolationException?