Search code examples
c#windows-runtimewindows-store-appsappxmanifestknown-folders

How to enable DocumentsLibrary capability in a Windows store (WinRT) app?


I just created a new blank XAML/C# Windows Store app in Visual Studio. I tried to create a file in the Documents folder with this code:

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

But it throws this exception (which I expected):

WinRT information: Access to the specified location (DocumentsLibrary) requires a capability to be declared in the manifest.

Which is fine. I expected it. So I go to Package.appxmanifest and go to Capabilities tab, and to my surprise, there is no "DocumentsLibrary" capability listed.

How do I enable it if it's not even there?

enter image description here


Solution

  • Looks like your answer is here. The author shows it available in VS2012, but gone from the list in VS2013, citing MS policy against accessing that particular folder.

    [Although] this capability is gone just from the UI, you still can open appxmanifest source and manually add the capability. The result will probably be the same as before – failure of certification for individual developers, so you better stay away from this trick. Microsoft strongly recommend against using Documents Library capability, suggesting Folder and File Pickers instead.