无法访问OneDrive上的文件; HoloLens运行时

问题描述 投票:1回答:1

我开始使用Microsoft HoloLens。

我对C#编程完全陌生。因此,这可能是一个简单甚至愚蠢的问题,但我只是无法解释,也找不到任何有关它的信息。我使用Unity 2018.4.21f1 Visual Studio 2019和已经提到的HoloLens。

期望的行为:

我想编写一个程序来打开FileExplorer,在这里我可以从下拉菜单中选择OneDrive,选择一个.obj文件(以cube.obj为例),然后在运行时对该文件进行处理和渲染。

当前行为:

我可以使用FileOpenPicker从OneDrive中选择文件,但是随后出现以下错误消息:

在APP.exe中的0x76C330D2处引发异常:Microsoft C ++异常:Il2CppExceptionWrapper在内存位置0x0210C090。DirectoryNotFoundException:找不到路径的一部分“ C:\ Data \ Users \ marcu \ AppData \ Local \ Packages \ microsoft.microsoftskydrive_8wekyb3d8bbwe \ LocalState \ OpenFile \ cube.obj”。

注意:

  • 如果cube.obj本地存储在HoloLens上,则一切正常。因此它可能与基于云的存储有关,但是我可以打印路径。
  • 也可与Unity Editor一起使用。
  • 路径不超过260个标志。
  • 路径中没有空格。
  • 也许我只是缺少适当的搜索语法来找到答案。
  • 不幸的是,搜索错误代码没有帮助。
  • 我也可以添加一个代码片段,但是原则上它与第一个示例from here非常相似。唯一的区别是我将file.Path的路径存储在字符串中。

如果有人遇到类似的问题,可以帮助我解决这个问题或给我提示,我将非常感激。

c# uwp onedrive hololens fileopenpicker
1个回答
0
投票

UWP应用默认情况下只能访问某些文件系统位置,例如ApplicationDataApplicationData。不幸的是,您无法通过该路径直接访问OneDrive中的文件。

但是您可以通过调用方法Package.InstalledLocation将文件从OneDrive复制到ApplicationData.Current.LocalFolder。因为ApplicationData.Current.LocalFolder是您的应用程序可以自由存储数据并在安装应用程序时创建的文件夹,所以您可以通过字符串路径从LocalFolder访问此文件。

© www.soinside.com 2019 - 2024. All rights reserved.