.NET中删除目录时出现Access denied错误的排查求助
.NET中删除目录时出现Access denied错误的排查求助
各位大佬,我最近碰到个特别诡异的问题,想请大伙帮忙捋捋原因:我用System.IO.Directory.Delete(Path.Combine(path, folderName), true);删除目录时,一直弹出"Access denied"的错误提示,但离谱的是最后目录居然还能被删掉!
我已经做了一堆排查,但还是没搞明白根源,列出来给大家参考:
- 这些目录之前是用
IFileSystemWatcher监控的,我已经把监视器Dispose掉了,可错误还是没消失 - 仔细检查过目录,里面既没有隐藏文件,也没有任何残留的内容
- 试着先逐个删除目录里的文件/子目录,这一步完全成功,但当我调用递归参数为false的删除操作(也就是删空目录)时,又触发了Access denied错误
- 把目录的属性改成普通属性(去掉特殊属性),没用
- 翻了不少相关的讨论线程,没找到能解决问题的有效信息
- 加了try-catch能捕获错误不影响流程,但我真的想搞清楚为啥会出现这种矛盾的情况
- 我甚至关掉了主应用,单独写了个控制台程序来执行删除操作,结果还是报同样的错;重启电脑后再跑这个控制台程序,依旧弹出Access denied的提示
- 手动修改了目录和内部文件的只读属性,不管是勾选还是取消勾选,问题都存在
有没有大佬碰到过这种情况?求指点一下可能的原因!
内容来源于stack exchange
相关产品推荐
相关产品推荐

