unity报错:The type or namespace name ‘OpenXR’ does not exist in the namespace ‘Microsoft.MixedReality’
并且在visual studio 里面报错如下:
严重性 代码 说明 项目 文件 行 抑制状态 详细信息
错误(活动) CS0234 命名空间“Microsoft.MixedReality”中不存在类型或命名空间名“OpenXR”(是否缺少程序集引用?) Assembly-CSharp, Assembly-CSharp.Player D:\UNITY\MR\del1\MRBASIC\Assets\Scripts\hl2ss.cs 82

Assets\Scripts\hl2ss.cs(82,19): error CS0234: The type or namespace name ‘OpenXR’ does not exist in the namespace ‘Microsoft.MixedReality’ (are you missing an assembly reference?)
具体报错代码为:
public static bool UpdateCoordinateSystem()
{
var scs = Microsoft.MixedReality.OpenXR.PerceptionInterop.GetSceneCoordinateSystem(Pose.identity);
if (scs == null) { return false; }
var unk = Marshal.GetIUnknownForObject(scs);
bool ret = OverrideWorldCoordinateSystem(unk) != 0;
Marshal.Release(unk);
return ret;
}
但是检查edit——project setting以后发现:OpenXR已经安装,但是在setting-openxr里面灰色内容居多,怀疑原有版本的OpenXR程序有什么问题。
解决方法:重新安装最新版OpenXR。
操作方法:点开任务栏——window——package manager里面,找到Mixed Reality OpenXR Plugin——remove
然后打开微软xr安装工具(MixedRealityFeatureTool.exe)重新选择项目文件夹,添加最新版本 OpenXR,然后重启程序等待 OpenXR添加完成。添加之后记得进入project setting——XR Plug-in Management——OpenXR——Project Validation 里面fix一下所有错误。
重新加载 OpenXR后确实解决了r CS0234: The type or namespace name ‘OpenXR’ does not exist in the namespace ‘Microsoft.MixedReality’ 问题