Websocket-sharp 需要哪个后端脚本构建? (IL2CPP 或 .NET)

Which backend scripting build is required for Websocket-sharp? (IL2CPP or .NET)

我正在编写一个应用程序,我需要在其中使用 websockets 抛出信息。我遇到了 websocket-sharp library。如指南中所述,我已将 .dll 文件放入 Assets/Plugins/ 位置。但是,经常会发生这样的情况,即在我的 unity 系统重新启动后,它开始抛出错误 Websocket sharp namespace or directive could not be found。我必须重新导入或复制粘贴。 还有一些基于 Websockt sharp 的相关脚本或资源,如 unityros,而使用 .NET 后端脚本构建时无法构建包含的抛出错误,如:

using System.Threading
using WebsocketSharp

我发现的修复方法是使用:

#if UNITY_EDITOR
   using System.Threading
   using WebsocketSharp
#endif

并且还需要在使用那些 include headers 的相同 if 和 endif 条件中添加函数(抱歉,我是 C++ 语言专家 - 对 include [=31 等术语表示歉意=])。 但是,当我通过将 后端脚本从 Unity 播放器设置 设置为 IL2CPP 来构建这些项目时,不会抛出任何错误。

我可以使用 IL2CPP 文件将其部署到像 hololens 这样的 MR 设备中吗? MR 设备的构建配置将是 Release,x64,Remote Device。请指教。

您在问题中描述的问题与使用 IL2CPP 或 .NET 作为后端无关。

最大的问题是 System.Threading 在 HoloLens 上不受支持。 HoloLens 使用 UWP,其中删除了许多 .NET API,因此您必须使用 UNITY_EDITOR 指令删除在为不支持的平台构建时使用它的任何代码。

在为 HoloLens 构建时使用 MessageWebSocketwebsocket-sharp for other platform. See MessageWebSocket github 提供许多有关如何使用它的示例。