3

尝试使用以下代码重命名文件夹时出现异常:

Directory.Move(@"D:\MyOldFolderName", @"D:\MyNewFolderName");

例外:

System.IO.IOException was unhandled
  Message="Access to the path 'D:\\MyOldFolderName' is denied."
  Source="mscorlib"
  StackTrace:
     at System.IO.Directory.Move(String sourceDirName, String destDirName)
     ...

问题是,完全相同的代码行适用于我的应用程序的另一类。该应用程序仅包含一个 DLL。

这里发生了什么?有任何想法吗?

更多信息:

  • 该应用程序是一个 WPF 应用程序,使用 MVVM 设计模式。
  • 文件夹重命名确实起作用的类是 ViewModel。
  • 文件夹重命名不起作用的类是辅助类(该方法在尝试重命名文件夹之前会执行一些与数据库相关的工作)。
4

1 回答 1

4

这可能不是由于权利,而是因为您在代码中的某个位置打开这些文件夹中的文件/流......在您尝试移动文件夹并使用诸如Who Lock Me之类的工具检查该文件夹之前放置一个断点或类似的,看看第一堂课和第二堂课有什么区别……我希望在您尝试移动具有“失败”类的文件夹之前,您要移动的文件夹被锁定(在利用)...

于 2011-01-29T16:50:05.677 回答