无法访问 OneDrive 上的文件; HoloLens 运行时
Can't access file on OneDrive; HoloLens runtime
我开始使用 Microsoft HoloLens。
我对 C# 编程完全陌生。所以这可能是一个简单甚至愚蠢的问题,但我无法解释,也找不到任何相关信息。我使用 Unity 2018.4.21f1 Visual Studio 2019 和已经提到的 HoloLens。
期望的行为:
我想编写一个可以打开 FileExplorer 的应用程序,我可以从下拉菜单中 select OneDrive,选择一个 .obj 文件(让我们以 cube.obj 为例)和此文件在运行时得到处理和呈现。
当前行为:
我可以使用 FileOpenPicker select OneDrive 中的文件,但随后出现以下错误消息:
Exception thrown at 0x76C330D2 in APP.exe: Microsoft C++ exception:
Il2CppExceptionWrapper at memory location 0x0210C090.
DirectoryNotFoundException: Could not find a part of the path
"C:\Data\Users\marcu\AppData\Local\Packages\microsoft.microsoftskydrive_8wekyb3d8bbwe\LocalState\OpenFile\cube.obj".
备注:
- 如果 cube.obj 本地存储在 HoloLens 上,则一切正常。所以它可能与基于云的存储有关,但我可以打印路径。
- 也适用于 Unity 编辑器。
- 路径不超过 260 个符号。
- 路径中没有空格。
- 也许我只是缺少合适的搜索语法来找到答案。
- 遗憾的是,搜索错误代码没有帮助。
- 我也可以添加一个代码片段,但原则上它与第一个示例非常相似from here。唯一的区别是我将带有 file.Path 的路径存储在一个字符串中。
如果有人有类似的问题可以帮助我解决这个问题或者给我提示,我将不胜感激。
默认情况下,UWP 应用只能访问某些文件系统位置,例如 ApplicationData
和 Package.InstalledLocation
。遗憾的是,您无法通过路径直接访问OneDrive中的文件。
但是您可以将此文件从 OneDrive 复制到 ApplicationData.Current.LocalFolder
by calling the method StorageFile.CopyAsync()
. Because the LocalFolder 是您的应用程序可以自由存储数据并在安装应用程序时创建的文件夹,您可以通过字符串路径从 LocalFolder 访问此文件。
我开始使用 Microsoft HoloLens。
我对 C# 编程完全陌生。所以这可能是一个简单甚至愚蠢的问题,但我无法解释,也找不到任何相关信息。我使用 Unity 2018.4.21f1 Visual Studio 2019 和已经提到的 HoloLens。
期望的行为:
我想编写一个可以打开 FileExplorer 的应用程序,我可以从下拉菜单中 select OneDrive,选择一个 .obj 文件(让我们以 cube.obj 为例)和此文件在运行时得到处理和呈现。
当前行为:
我可以使用 FileOpenPicker select OneDrive 中的文件,但随后出现以下错误消息:
Exception thrown at 0x76C330D2 in APP.exe: Microsoft C++ exception: Il2CppExceptionWrapper at memory location 0x0210C090. DirectoryNotFoundException: Could not find a part of the path "C:\Data\Users\marcu\AppData\Local\Packages\microsoft.microsoftskydrive_8wekyb3d8bbwe\LocalState\OpenFile\cube.obj".
备注:
- 如果 cube.obj 本地存储在 HoloLens 上,则一切正常。所以它可能与基于云的存储有关,但我可以打印路径。
- 也适用于 Unity 编辑器。
- 路径不超过 260 个符号。
- 路径中没有空格。
- 也许我只是缺少合适的搜索语法来找到答案。
- 遗憾的是,搜索错误代码没有帮助。
- 我也可以添加一个代码片段,但原则上它与第一个示例非常相似from here。唯一的区别是我将带有 file.Path 的路径存储在一个字符串中。
如果有人有类似的问题可以帮助我解决这个问题或者给我提示,我将不胜感激。
默认情况下,UWP 应用只能访问某些文件系统位置,例如 ApplicationData
和 Package.InstalledLocation
。遗憾的是,您无法通过路径直接访问OneDrive中的文件。
但是您可以将此文件从 OneDrive 复制到 ApplicationData.Current.LocalFolder
by calling the method StorageFile.CopyAsync()
. Because the LocalFolder 是您的应用程序可以自由存储数据并在安装应用程序时创建的文件夹,您可以通过字符串路径从 LocalFolder 访问此文件。