【问题标题】:Can't read/write files when using UWP broadFileSystemAccess restricted permission使用 UWP broadFileSystemAccess 受限权限时无法读取/写入文件
【发布时间】:2018-12-20 11:24:05
【问题描述】:

我正在构建一个内部公司应用程序并尝试在本地和网络驱动器上读取和写入文件。我添加了broadFileSystemAccess 受限功能。我可以列出目录,但在尝试读取或写入任何文件时会收到 System.UnauthorizedAccessException

我发现,如果我还为我正在读取或写入的文件类型添加文件类型关联,那么它就可以工作。但是,这也意味着应用程序在 Windows 中注册以打开那些我不想要的文件类型。

// This line works once I enable broadFileSystemAccess.
StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(@"Path\to\folder");

// This line works only after I add a pdf file type association.
StorageFile file = await StorageFile.GetFileFromPathAsync(@"Path\to\file.pdf");

【问题讨论】:

  • 来自文档:注意:您必须将文件类型关联添加到声明应用程序的清单中。
  • 您确定您确实在系统设置中为您的应用启用了广泛的文件系统访问权限吗?检查设置->隐私->文件系统-查找您的应用并确保其设置为“开启”。
  • @StefanWickMSFT 不!谢谢,我猜是这个问题。不过,正如我对 Nico 的回答所评论的那样,我的应用不在列表中。

标签: c# uwp


【解决方案1】:

正如 Stefan Wick MSFT 所说,添加broadFileSystemAccess 能力后,您还需要在文件系统设置页面中手动启用广泛的文件系统。获取设置页面,可以在设置应用首页搜索文件系统关键字。

【讨论】:

  • 谢谢!这是我的问题。但是,“允许应用程序访问您的文件系统”已打开,但我没有在“选择哪些应用程序可以访问您的文件系统”列表中看到我的应用程序。我刚刚尝试了捆绑和侧载,但它仍然不在那个列表中。
  • 您确定在部署的 appxmanifest 文件中声明了该功能吗?通过导航到安装位置并在那里检查 appxmanifest 进行仔细检查。
  • 谢谢!它就在那里,但这让我发现我在 xmlns:rescap url 中有一个流氓`>`。不知道它是如何到达那里的,但现在一切正常。
猜你喜欢
  • 2018-11-12
  • 1970-01-01
  • 1970-01-01
  • 2016-07-14
  • 2012-02-29
  • 2020-02-16
  • 2017-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多