首页 > 解决方案 > 错误 CS0234:命名空间“UnityEngine.XR.WSA”中不存在类型或命名空间名称“Persistence”(您是否缺少程序集引用?)

问题描述

我目前正在为android开发一个应用程序。在我的代码中,我使用了命名空间UnityEngine.XR.WSA.Persistence。当我在编辑器上启动应用程序时,我没有错误,但是当我尝试构建它以将其发送到我的手机时,我得到以下一个:

命名空间“UnityEngine.XR.WSA”中不存在类型或命名空间名称“Persistence”。您是否缺少程序集参考?”

既然它在编辑器上工作,这不是很奇怪吗?我如何解决它?

标签: visual-studiounity3d

解决方案


WSA代表Windows Store Apps。这仅在为 构建应用程序时可用Universal Windows Platform。特别是UnityEngine.XR.WSA.Persistenceafaik 是或至少是以前由Microsoft开发的,甚至仅用于HoloLens

它在编辑器中不会引发任何异常,但 afaik 一些#if预处理器确保它在那里也不做任何事情。


Android平台构建应用程序时不可用。

要删除脚本中的错误,您可以使用#if预处理器平台相关编译,例如

#if UNITY_WSA
    // anything using the UnityEngine.XR.WSA namespace
#else
    // alternative implementation for different platform
#endif

但是,该功能在 Android 上将不可用,因此如果您需要类似的东西,您必须使用另一个库或想出一个;)


推荐阅读