【发布时间】:2012-10-17 22:16:24
【问题描述】:
我的应用程序使用 .NET 对象 Directory.GetFiles()
我使用的实际重载是
var allFiles = Directory.GetFiles("C:\\Users\\Dave", "*.*", SearchOption.AllDirectories);
问题是当源文件夹是 C:\Users\UserName 时,它会尝试查看应用程序数据文件夹。
当它尝试从应用程序数据文件夹中读取时,会抛出异常:
"访问路径'C:\Users\Dave\AppData\Local\Application 数据'被拒绝。”
所以,我的问题是有人对我的选择有意见吗?我假设我必须改变我收集所有文件的方式,或者可能有一个内置的重载或方法可以让我继续这个(我显然不知道)。
如果有帮助,这样做的目的是获取Directory.GetFiles() 检索到的所有文件并将它们“粘贴”到其他地方(美化的复制和粘贴/备份)。我其实并不太担心系统文件,只是“用户文件”。
【问题讨论】:
-
您的程序在哪个帐户下运行?
-
好问题 - 目前,这在我的家用电脑上 - 这是我的帐户,我是拥有完全权限的管理员。虽然我不知道我的程序是否以完全权限运行,因为我在调试模式下运行 VS(准确地说,使用 MS TESTS)
-
如果您以管理员身份运行 Visual Studio(右键单击 > 以管理员身份运行),它可以工作吗?
-
@SimonWhitehead;很好的建议,但遗憾的是,同样的错误仍然存在。
标签: c# exception permissions file-permissions