广泛的文件系统访问 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
附加到其值的末尾即可。现在向下滚动并找到<Capabilities>
。在里面添加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的主要内容,如果未能解决你的问题,请参考以下文章