我正在使用.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?
如何删除其中包含非空目录的子目录的目录.
谢谢你的回答
但现在当我在运行时删除任何目录时,它将带我进入登录页面.