广泛文件系统访问 UWP

12
我正在尝试在 UWP 应用程序中使用 broadFileSystemAccess功能,但是在我的 Package.appxmanifest 的功能列表中没有列出该功能。
我的最小和最大目标版本是 1803,build 17134,请帮助我解决这个问题。
1个回答

22

该功能未在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" />

2
很抱歉没有注意到你的问题。您可以使用StorageFilder.CreateFileQueryWithOptions和QueryOptions实例进行搜索。有许多属性可供配置。https://learn.microsoft.com/en-us/uwp/api/windows.storage.storagefolder.createfilequerywithoptions - Martin Zikmund
2
你是如何尝试访问这些文件的?你必须实际使用StorageFile API,而不仅仅是经典的System.IO API。 - Martin Zikmund
2
这个答案似乎不能按照所写的方式工作。我已经完全按照答案中的步骤操作,但是在不抛出E_ACCESSDENIED异常的情况下无法使用await Windows.Storage.StorageFolder.GetFolderFromPathAsync("C:\\Users\\user name") - kayleeFrye_onDeck
9
我真的无法理解为什么会存在这些愚蠢的例外。为什么有些功能可以在图形用户界面中使用,而有些必须通过手动添加代码才能实现呢?该死。 - Filipe Madureira
1
@Nick 并不是自动的,你需要调整 Package.appxmanifest 文件 - 可以使用两个不同的清单文件(一个用于开发,一个用于发布),或者在构建之前更新或删除功能(例如作为构建流程的一部分)。 - Martin Zikmund
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接