Unity3d 文件名错误:./Runtime/Export/Debug/Debug.bindings.h行:35

Unity3d 文件名错误:./Runtime/Export/Debug/Debug.bindings.h行:35,unity3d,socket.io,unity-webgl,Unity3d,Socket.io,Unity Webgl,我正在尝试将unity游戏部署到webgl。在窗户上一切都很好。我在Unity中使用socketio进行多人游戏,我不确定这是否相关。另外,我正在使用unity 2020,并且我已经禁用了压缩。我在chrome中的控制台中发现此错误: {“tid”:1,“div”:“EventDescriptor”,“msg”:“Call”,“ex”:[{“msg”:“System.Reflection.Emit.DynamicMethod:::.ctor”,“stack”:“}],“stack”:“,“ctx

我正在尝试将unity游戏部署到webgl。在窗户上一切都很好。我在Unity中使用socketio进行多人游戏,我不确定这是否相关。另外,我正在使用unity 2020,并且我已经禁用了压缩。我在chrome中的控制台中发现此错误:

{“tid”:1,“div”:“EventDescriptor”,“msg”:“Call”,“ex”:[{“msg”:“System.Reflection.Emit.DynamicMethod:::.ctor”,“stack”:“}],“stack”:“,“ctxs”:[],“t”:6374251220737000,“ll”:“Exception”,“bh”:1}” (文件名:./Runtime/Export/Debug/Debug.bindings.h行:35)


我不知道那个错误是什么意思。有人能帮忙吗?

此错误是因为Web编译器无法识别方法

在您的例子中,它是
System.Reflection.Emit.DynamicMethod

说明:

Unity上的WebGL是AOT(提前)编译的,使用反射的方法可能无法工作。而且您似乎试图使用namespace
Emit
,这在包括Web在内的AOT平台上是完全禁止的

您需要删除或替换所有反射(尤其是
Emit
),使其能够提前编译


如果您没有使用
Emit
,或者您不知道它可能来自哪里,您应该向我们提供完整的错误消息
PlayerSettings->EnableExceptions->Full With Stacktrace

谢谢,这帮我解决了这个问题。这是我在资产商店使用的资产