在C#中打开文件拒绝访问

我试图读取文本文件的内容,但我得到’System.UnauthorizedAccessException’类型的’访问路径被拒绝’例外。 我尝试过以下方法:

  • 以管理员模式运行
  • 检查文件是否为只读
  • 检查文件是否隐藏
  • 检查文件是否完全控制所有用户

我的代码:

private async void MyButton_Click(object sender, RoutedEventArgs e) { string path = @"fullpath\TextFile.txt"; await Task.Run(() => { string text = File.ReadAllText(path); }); } 

您无法像在Windowsapp store应用中那样访问所有文件。 请查看此MSDN页面以获取您的应用程序可供使用的位置列表。 同样要使用其中大部分,您必须声明合适的function 。 如果您的文件在此列表之外和/或您尚未声明function,则会收到UnauthorizedException

一般商店应用程序不应该在用户不知情的情况下访问文件 – 这是设计的。 如果以后要访问文件,可以使用FileOpenPicker选择文件,然后通过FutureAccessList或MostRecentlyUsed访问它。