问题描述
我想在Hololens上保存一些持久的JSON文件.他们需要在应用程序的各个版本之间保持持久性,因此Application.persistentDataPath
不起作用.我选择文档"是因为它最有意义. Hololens上没有下载"文件夹.
I want to save some persistent JSON files on Hololens. They need to persist across builds of application so Application.persistentDataPath
doesn't work. I chose to Documents because it makes the most sense. There is no Downloads folder on Hololens.
这是我到目前为止尝试过的:
Here's what I've tried so far:
我已阅读应用程序功能文档,并手动将<uap:Capability Name="documentsLibrary"/>
添加到文件中的Package.appxmanifest
.
I have read the App Capability Documentation and manually added the <uap:Capability Name="documentsLibrary"/>
to the Package.appxmanifest
to the file.
我还添加了xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
命名空间.但我收到以下警告:
I also added the xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
namespace. But I get the following warning:
The element 'Capabilities' in namespace 'http://schemas.microsoft.com/appx/manifest/foundation/windows10' has invalid child element 'Capability' in namespace 'http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities'. List of possible elements expected: 'DeviceCapability' in namespace 'http://schemas.microsoft.com/appx/manifest/foundation/windows10'. Ad-Hoc Localz D:\Repositories\ad-hoc-localization\_build\Ad-Hoc Localz\Package.appxmanifest 37
以及构建时出现以下错误:
and the following error on build:
Error APPX0501 Validation error. error C00CE014: App manifest validation error: The app manifest must be valid as per schema: Line 45, Column 6, Reason: Element '{http://schemas.microsoft.com/appx/manifest/uap/windows10}Capability' is unexpected according to content model of parent element '{http://schemas.microsoft.com/appx/manifest/foundation/windows10}Capabilities'. Expecting: {http://schemas.microsoft.com/appx/manifest/foundation/windows10}DeviceCapability. Ad-Hoc Localz D:\Repositories\ad-hoc-localization_build\build\bin\Win32\Master\AppxManifest.xml 1
它还说我需要指定我使用的文件类型此文档,以手动添加该清单.但是我得到同样的警告,即无效的子元素.我没有在这种图像中从此论坛
It also says that I need to specify file type I used this documentation to add that manually to manifest. But I get the same warning i.e. invalid child element. I do not see a GUI based way to add like in this image from this forum
那我该如何构建一个可以访问Hololens上的Documents文件夹的应用程序?
在代码中,我使用Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
来获取文档的路径,但是在代码段中,它们表明应该为KnownFolders.DocumentsLibrary
. UWP上的Environment
无效名称空间吗?
In the code I'm using Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
to get path to documents but in code snippet they show that it should be KnownFolders.DocumentsLibrary
. Is the Environment
not valid namespace on UWP?
推荐答案
- 不使用
xmlns:rescap =""http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"因为DocumentLibrary功能在uap命名空间中.如下添加文档功能
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" because DocumentLibrary capability is in uap namespace. add document capability like below
<Capabilities>
<Capability Name="internetClientServer"/>
<Capability Name="internetClient"/>
<uap:Capability Name="documentsLibrary"/>
<DeviceCapability Name="microphone"/>
</Capabilities>
现在您不应该得到警告.
now you should not get warning.
-
使用下面的代码行在Document文件夹中创建和获取文件
Use below lines of code to create and get file in Document folder
IReadOnlyList<Windows.Storage.StorageFile>
file=awaitKnownFolders.DocumentsLibrary.CreateFileAsync("FileName");
IReadOnlyList<Windows.Storage.StorageFile>
file=awaitKnownFolders.DocumentsLibrary.GetFileAsync("filename")
这篇关于如何将文件保存到Hololens的Documents文件夹中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!