广泛的文件系统访问 UWP

Posted

技术标签:

【中文标题】广泛的文件系统访问 UWP【英文标题】:broadFileSystemAccess UWP 【发布时间】:2018-11-06 15:46:44 【问题描述】:

我正在尝试将 broadFileSystemAccess 功能用于 UWP 应用程序,但 broadFileSystemAccess 功能未列在我的 Package.appxmanifest 中的功能列表中。

我的最小和最大目标版本是 1803,构建 17134,请帮助我。

【问题讨论】:

【参考方案1】:

Package.appxmanifest的“设计器”中没有列出这个能力,需要通过代码手动添加。

转到 Solution Explorer 并右键单击 Package.appxmanifest。选择查看代码

在代码视图中更新Package 元素以包含以下内容:

<Package
  ...
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
  IgnorableNamespaces="uap mp rescap">

不要重复IgnorableNamespaces 属性,只需将rescap 附加到其值的末尾即可。现在向下滚动并找到&lt;Capabilities&gt;。在里面添加broadFileSystemAccess 能力如下:

<rescap:Capability Name="broadFileSystemAccess" />

【讨论】:

很抱歉没有注意到您的问题。您可以使用带有 QueryOptions 实例的 StorageFiler.CreateFileQueryWithOptions 进行搜索。您可以配置很多属性。 docs.microsoft.com/en-us/uwp/api/… 您是如何尝试访问这些文件的?您必须实际使用 StorageFile API,而不仅仅是经典的 System.IO API 这个答案似乎不像写的那样工作。我已经完全按照答案中的步骤进行操作,但不能使用 await Windows.Storage.StorageFolder.GetFolderFromPathAsync("C:\\Users\\user name") 而不会抛出 E_ACCESSDENIED 我真的不明白为什么会存在这些愚蠢的异常。为什么 GUI 中存在某些功能而必须通过代码手动添加某些功能?该死的。 @Nick 本身不会自动,您必须调整 Package.appxmanifest 文件 - 使用两个不同的清单(一个用于开发,一个用于发布),或者在构建之前更新删除功能(其中例如作为构建管道的一部分是可行的)

以上是关于广泛的文件系统访问 UWP的主要内容,如果未能解决你的问题,请参考以下文章

uwp 文件系统上 StorageFile 的唯一标识符

uwp,如何访问本地数据目录

如何从本地文件夹uwp显示图像

[UWP]在应用开发中安全使用文件资源

用户无法访问的 UWP 文件存储

网络文件系统的演化