如何解决 UWP/HoloLens 开发中的“无法找到类型或命名空间名称 'Windows'”错误?

问题描述 投票:0回答:1
Background:
I am developing an application for HoloLens 2 using Unity 2022.3.30f1, and I need to use the       `Windows. Media` API to capture depth and image data from the HoloLens Research Mode. My project is set up to use Universal Windows Platform (UWP) as the target platform, and I have the `Mixed Reality Toolkit (MRTK) Foundation 2.8.3` and `MRTK OpenXR Plugin 1.10.1` installed.

When I try to use the Windows namespace in my script, I encounter the following error in Unity:

找不到类型或命名空间名称“Windows”(您是否缺少 using 指令或程序集引用?)

Steps Taken:
  1. 已安装通用 Windows 平台工作负载:我确保在 Visual Studio 中安装了“通用 Windows 平台开发”工作负载。

  2. 切换平台:将目标平台切换为Unity中的UWP。

  3. API 兼容级别:将 API 兼容级别设置为 .NET Standard 2.1。

  4. 添加了引用:在 5) Unity 项目中添加了对 Windows.winmd 和 System.Runtime.WindowsRuntime.dll 的引用: 来自 C:\Program Files (x86)\Windows Kits\UnionMetadata
    的 Windows.winmd System.Runtime.WindowsRuntime.dll 来自 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETPortable 4.6

    代码1 代码2 代码3

    问题:

1 - 我是否错过了解决此问题所需的任何步骤或配置? 2 - 是否需要特定设置或额外步骤才能使 Unity 识别 Windows 命名空间? 3 - 是否有更好的方法将 Windows.Media API 集成到针对 HoloLens 2 的 Unity 项目中? 附加背景:

Unity版本:2022.3.30f1 Visual Studio:2019/2022,安装了 UWP 工作负载 HoloLens SDK:已安装 脚本后端:IL2CPP 目标设备:HoloLens 2 任何见解或建议将不胜感激!.png)

uwp windows-runtime hololens unity3d-editor windows-mixed-reality
1个回答
0
投票

您应该在 ENABLE_WINMD_SUPPORT 编译器指令中封装任何使用 WinRT 的代码,以便在针对 UWP 进行编译时仅使用某些代码。更多详情请参阅:

https://docs.unity3d.com/Manual/IL2CPP-WindowsRuntimeSupport.html

https://learn.microsoft.com/en-us/windows/mixed-reality/develop/unity/using-the-windows-namespace-with-unity-apps-for-hololens

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