UWP访问被拒绝

时间:2017-12-03 18:26:29

标签: c# file permissions uwp access

基本上,我很难通过我的UWP应用程序打开文本文件。我已将应用权限设置为能够访问“我的文档”中的文件。以及其他已知图书馆的选项,例如我的图片和#39;但是,任何打开不在这些地方的文件的尝试都会被“拒绝访问”和“访问权限”所限制。错误。从拖网上我知道这是一个已知问题并且已被问过几次,但是所有线程似乎都得出结论,如果没有让用户通过文件选择器访问它就无法访问这些文件(由于沙盒) )。请参阅下面的主题,例如:

https://social.msdn.microsoft.com/Forums/en-US/2ab6e209-cad7-4254-a252-b8e752ea7d13/uwp-how-can-i-access-locally-stored-files-not-on-removable-storage?forum=WindowsIoT

我知道再次提出同样的问题并希望不同的回应听起来徒劳无功,但我知道这不是一个完整的答案。我知道这是因为我已经从商店下载了其他记事本应用程序(例如现代记事本),并且他们允许这种行为没有问题。他们是怎么做到的?

这让我疯了好几个月,我真的希望有人可以提供帮助

3 个答案:

答案 0 :(得分:2)

5个月后......

现在微软已经添加了这项功能。 只需将“broadFileSystemAccess”功能添加到应用清单,如下所述: https://docs.microsoft.com/en-us/windows/uwp/files/file-access-permissions

请注意,这仍然需要用户输入到某种程度(用户必须在首次运行应用程序时授予对文件系统访问权限),但不需要文件/文件夹选择器UI。

我还没有尝试过这个,但听起来应该可以胜任。我希望将来可以帮助人们提到这篇文章。

答案 1 :(得分:0)

是的,就像您已经知道的那样,常见的UWP应用无法直接访问某些不允许的路径。您需要一个代理来帮助您使用FilePicker访问它。我相信你可以找到很多关于此的文章。

那么为什么你可以在商店里看到一些看起来与众不同的笔记本呢?这是因为这些应用是使用DesktopBridge技术转换的应用。 Desktopbridge允许常见的桌面应用程序在UWP应用程序容器中运行并具有更多权限。虽然您需要注意的路径存在一些问题,例如提到的以下博客:blog1blog2

答案 2 :(得分:0)

首先,您需要将 BroadFileSystemAccess 放在 Package.XML 中

https://docs.microsoft.com/en-us/windows/uwp/files/file-access-permissions

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

然后您的应用将在隐私 > 文件系统下显示访问设置。该设置默认未启用,必须在开发过程中启用。

enter image description here