尝试使用以下代码重命名文件夹时出现异常:
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。
- 文件夹重命名所在的类 不工作是一个帮助类( 方法做一些数据库相关的 在尝试重命名之前的东西 文件夹)。
最佳答案
这可能不是因为权限问题,而是因为您在代码中的某处打开这些文件夹中的文件/流...在您尝试移动文件夹并使用类似工具检查该文件夹之前放置一个断点Who Lock Me或类似地看看第一个类和第二堂课有什么不同......我希望在你尝试移动文件夹之前,你正在移动的文件夹被锁定(在使用)...
关于c# - 拒绝访问一个类中的文件夹,但不访问另一个类中的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4838028/