【发布时间】:2019-12-11 12:11:43
【问题描述】:
我正在尝试使用 UWP 应用访问某些文件和目录,对于我的特定场景,本地用户应该可以访问这些应用。它不起作用,所以我只在一般用户级目录和子目录上测试了 API,效果与 E_ACCESSDENIED 相同。
我按照这里的说明进行操作:https://docs.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations#restricted-capabilities
- 将
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"添加到Package - 将
rescap添加到可忽略的命名空间(我也尝试过这个 btw) - 将
<rescap:Capability Name="broadFileSystemAccess" />添加到Capabilities部分
这是清单要点的链接。它只是在 VS2017 中创建的一个新的默认通用应用程序:https://gist.github.com/the-nose-knows/01621d68b7b6a92067780dc69cdf9ded
这是 CSProj 要点的链接:https://gist.github.com/the-nose-knows/c95db9fc89e71f38969da9af6203d3a8
示例项目中的主页只是一个新方法和对其的调用:
public MainPage()
{
this.InitializeComponent();
GetUserFolder();
}
public async void GetUserFolder()
{
var get =
await Windows.Storage.StorageFolder.GetFolderFromPathAsync("C:\\Users\\user name");
}
例如,这也行不通:
var get =
await Windows.Storage.StorageFolder.GetFolderFromPathAsync("C:\\Users\\user name\\New Folder");
我做错了什么?
【问题讨论】:
-
我无法复制该问题。如果我添加该功能,代码将按预期工作。您是否检查了项目的最低/目标版本?如果这些版本太低,则可能是原因。
-
@MehrzadChehraz 我也更新了它以共享项目文件。据我所知,我应该可以将它与目标版本一起使用。
-
确定一下,您是在开发桌面桥项目还是 UWP 项目?
-
打开“设置”应用并转到隐私->文件系统。确保您的应用的文件访问权限已开启。