我得到一个非常间歇性的“目录不空”错误试图从c#代码中删除目录,但是当我看,目录似乎是空的。错误“目录不为空。”当目录是empy
实际情况是这样的:进程A使用同步.Net远程调用调用进程B,进程B从目录中删除文件,然后返回到进程A删除目录本身。该磁盘是本地连接的NTFS磁盘(可能是SATA)。
我想知道是否有可能的竞争条件与NTFS,当你有两个进程合作在这种方式,其中进程B的删除调用没有完全刷新到文件系统?
当然,更明显的答案是当前目录真的不是空的,而其他东西在我看它之前就清空了,但我没有看到在当前应用程序中会发生这种情况,因为没有其他的过程会删除文件。
您是否尝试过使用'Directory.Delete(target_dir,true);'来递归移除目录和所有文件? – chridam
你有没有试过用删除键删除它? –
@Weyland,对不起,我应该明确说明,是的,我买它的时间,删除它没有问题 – Andy