问题描述
我偶尔有几个后台进程在Directory.Delete上失败(递归设置为true)。该异常表明该文件已在使用中。
我希望代码检查有问题的文件并记录阻止删除的进程。我知道,在删除失败和检查文件之间,该过程可能会消失。
问题是我需要文件的完整路径。当System.IO.File.Delete()失败时,IOException包含Exception消息中嵌入的有问题文件的完整路径,但是当Directory.Delete()失败时,仅显示文件名(在Exception消息中)。 / p>
例如,我打开excel并将空白电子表格保存为c:\ temp \ myDir \ MySubDir \ test.xlsx,然后我执行了Directory.Delete(@“ c:\ temp \ myDir”,true)而没有关闭优秀。错误消息只是说“ test.xlsx”(不完整或相对路径)已在使用中。
对于System.IO.IOException为什么没有属性来引用有问题的项目,我通常感到困惑,但是我想如果它在异常消息中,我可以使用绝对路径。
有人知道该怎么做吗?我想我可以重新实现一个Directory.Delete(),它将抛出一个更好的异常,但是这个问题对于没有人为它创建解决方案来说似乎太普遍了。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)