【发布时间】:2010-11-12 01:22:47
【问题描述】:
这是我的问题:我刚刚完成了一个应用程序,它允许您在资源管理器中右键单击一个文件并点击一个选项来打开该应用程序。然后,它重命名该文件并将其从文件夹中移出到特定位置,然后删除该文件夹(无论是否为空)。当文件通过 GUI 加载时,这很好,但资源管理器上下文菜单的重点是 GUI 永远不必加载,它只是单个文件的一击奇迹。
但是,当使用上下文菜单时,文件夹不会被删除,并且会引发异常,说明该文件夹正在被另一个进程使用。该文件仍然被移动,所有其他文件仍然被删除。为什么会这样?有什么方法可以显式释放目录上的句柄以使其正常工作?
我会向您展示代码,但它非常基本(即一行,Directory.Delete)。我也尝试过使用 DirectoryInfo.Delete 但这没有帮助。就像我说的,它在 GUI 中运行良好。
【问题讨论】:
标签: c# .net directory windows-explorer