Ошибка в имени файла: ./Runtime/Export/Debug/Debug.bindings.Строка h: 35

#unity3d #socket.io #unity-webgl

#unity3d #socket.io #unity-webgl

Вопрос:

Я пытаюсь развернуть игру Unity в webgl. В Windows все работает нормально. Я использую socketio в Unity для своей многопользовательской игры, я не уверен, что это актуально. Кроме того, я использую unity 2020 и уже отключил сжатие. Я получаю эту ошибку в консоли в Chrome:

{«tid»: 1,»div»:»EventDescriptor», «msg»:»Вызов», «ex»: [{«msg»: «System.Reflection.Emit.DynamicMethod::.ctor», «stack»: «»}],»stack»: «»,»ctxs»:[],»t»:637425122207370000,»ll»:»Исключение», «bh»: 1} (Имя файла: ./Runtime/Export/Debug/Debug.bindings.строка h: 35)

Я не знаю, что означает эта ошибка. Кто-нибудь может помочь?

Ответ №1:

Эта ошибка вызвана тем, что компилятор для Web не распознает метод.

В вашем случае это System.Reflection.Emit.DynamicMethod .

Объяснение:

WebGL в Unity скомпилирован AOT (досрочно), и метод, использующий отражение, может не работать. И похоже, что вы пытались использовать пространство Emit имен, которое полностью запрещено на платформах AOT, включая Web.

Вам нужно удалить или заменить все отражения (особенно Emit ) чем-то, что может быть скомпилировано заранее!

Если вы не использовали Emit или не знаете, откуда это может быть, вы должны предоставить нам полное сообщение об ошибке. PlayerSettings -> EnableExceptions -> Full With Stacktrace

Комментарии:

1. Спасибо, это помогло мне решить эту проблему. Это был ресурс, который я использовал из хранилища ресурсов