7

我刚刚在 Visual Studio 中创建了一个新的空白 XAML/C# Windows Store 应用程序。我尝试使用以下代码在 Documents 文件夹中创建一个文件:

// DEBUG ONLY:
StorageFile file = await KnownFolders.DocumentsLibrary.CreateFileAsync("Hey lol.txt");

但它抛出了这个异常(这是我所期望的):

WinRT 信息:访问指定位置 (DocumentsLibrary) 需要在清单中声明的​​能力。

这很好。我预料到了。所以我去Package.appxmanifestCapabilities选项卡,令我惊讶的是,没有列出“DocumentsLibrary”功能。

如果它甚至不存在,我该如何启用它?

在此处输入图像描述

4

4 回答 4

7

看起来你的答案就在这里。作者显示它在 VS2012 中可用,但从 VS2013 中的列表中删除,引用了 MS 政策反对访问该特定文件夹。

[虽然]这个功能只是从 UI 中消失了,您仍然可以打开 appxmanifest 源并手动添加该功能。结果可能和以前一样——个人开发者认证失败,所以你最好远离这个伎俩。Microsoft 强烈建议不要使用文档库功能,而是建议使用文件夹和文件选择器。

于 2014-01-20T04:12:08.637 回答
4

由于这是 UAP,因此语法需要说明这一点,应如下所示

  <Capabilities>
    <Capability Name="internetClient" />
    <uap:Capability Name="documentsLibrary" />
  </Capabilities>

您需要在 Capability 前面添加 'uap:'

于 2017-11-08T01:07:27.447 回答
3

根据格兰特的回答,解决此问题的一种方法是手动添加功能。

在解决方案资源管理器中右键单击 Package.appxmanifest 文件,然后选择“查看代码”,然后找到 Capabilities 元素,或者自己添加:

...
  <Capabilities>
    <Capability Name="internetClient" />
    <Capability Name="removableStorage" />
    <Capability Name="documentsLibrary" />
  </Capabilities>
</Package>
于 2014-01-20T04:20:41.860 回答
3

以下是您尝试发布 Windows 应用商店时将获得的内容

在此处输入图像描述

于 2015-11-21T01:30:54.030 回答