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?
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.
As this is UAP the syntax needs to state this, should be as followed
You need to add 'uap:' in front of Capability
Here's what you'll get from the Windows Store when you try to publish it
As per Grant's answer, a way around this is to add the Capability manually.
Right-click the Package.appxmanifest file in Solution Explorer, and select "View code", then either find the Capabilities element, or add it yourself: