很奇怪,我在调用 GetDirectories() 方法时偶尔会遇到错误。
当我们的 IT 部门将一些文件夹远程移动到我的本地计算机时,这种情况就开始发生了。此错误仅在使用 C# 浏览这些文件夹时发生。
错误消息:'访问路径 'C:\Users\XXXX\XXXXXX 被拒绝'
代码:
public static string[] GetDirectoryInfo(string path)
{
if (Directory.Exists(path))
{
//This call is failing on the new folder.
return Directory.GetDirectories(path);
}
return new string[0];
}
不是很复杂,对吧?
使用 Windows 资源管理器导航,该文件夹不存在。
在 CMD 提示符下,我可以将目录更改为该文件夹;跟进 DIR 命令,我收到错误“找不到文件”。
我猜这个问题是一个 Win32 问题,并且在移动文件夹时没有清理一些东西。我不知道如何解决这个问题,除了挖掘反编译的 System.IO 类;如果我没有得到解决方案,我会这样做。