这是我的问题:我刚刚完成了一个应用程序,它允许您右键单击资源管理器中的文件,并打开一个选项以打开该应用程序。然后重命名并将该文件移出文件夹到特定位置,然后删除该文件夹(空或不)。这工作罚款当文件通过GUI加载时,但是资源管理器上下文菜单的整个点是GUI永不加载,它只是一个单一文件的奇迹。不会让我删除一个文件夹,我刚刚移出一个文件?
但是,使用上下文菜单时,文件夹不会删除,并且会引发异常,说明该文件夹正在被另一个进程使用。该文件仍然被移动,所有其他文件仍然被删除。这是为什么发生?有什么方法可以明确地释放目录中的句柄以使其工作?
我会告诉你的代码,但它是非常基本的(即一行,Directory.Delete)。我也尝试使用DirectoryInfo.Delete,但没有帮助。就像我说的,它在GUI内工作正常。
谢谢尼克 - 我的问题是简单地通过使用Directory.SetCurrentDirectory(AnywhereOtherThanHere)100%解决:-) – 2010-11-12 02:38:07