ConfuserEx: System.TypeInitializationException для Mono
Я не могу заставить мое запутанное приложение работать на моно. Необъяснимые произведения на моно. Когда я использую.net Framework на Win7, он запускается без проблем в обоих вариантах.
Это исключение, которое я получаю:
Необработанное исключение: System.TypeInitializationException: инициализатор типа для
вызвал исключение. ---> System.NullReferenceException: ссылка на объект не установлена для экземпляра объекта в.  € ⪠ª ª ª "" "" "" "" â â â â â € " € œa € <â € Ä € â" â¯â¬â € â € â "â € œa € ®ââ" â € â € ªâ € " € ¬a €" â € ªâ € ªâ € ® () <0x40884310 + 0x00874> in:0 at ..cctor () <0x40884100 + 0x00017> in:0 --- Конец внутренней трассировки стека исключений --- в Vintagestory.Server.Program.Main (System.String[] args) <0x408814c0 + 0x002bb> in:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: инициализатор типа для '' вызвал исключение. ---> System.NullReferenceException: ссылка на объект не установлена для экземпляра объекта в.  € ⪠ª ª ª "" "" "" "" â â â â â € " € œa € <â € Ä € â" â¯â¬â € â € â "â € œa € ®ââ" â € â € ªâ € " € ¬a €" â € ªâ € ªâ € ® () <0x40884310 + 0x00874> in:0 at ..cctor () <0x40884100 + 0x00017> in:0 --- Конец внутренней трассировки стека исключений --- в Vintagestory.Server.Program.Main (System.String [] args) <0x408814c0 + 0x002bb> в: 0
Кажется, что исключение происходит в тот момент, когда ему приходится загружать дополнительный код из внешней библиотеки, которая также запутывается в том же процессе.
Как я могу даже пойти и отладить / исправить это?
Обновление: похоже, также происходит в Windows Mono
Обновление 2: Здесь также есть запись об ошибке в github с некоторыми подробностями: https://github.com/yck1509/ConfuserEx/issues/535
1 ответ
Я использовал Максимальный уровень запутывания для одного класса C#, который даже не использовался, а являлся частью внешней библиотеки, которая требовалась, что казалось проблемой.
Когда я уменьшаю уровень запутывания до "Агрессивного", это работает. Не идеально, но пока подойдет.
Я также установил удаление действия защиты от "отладки" и "от взлома". И это работает для меня.
<protection id="anti debug" action="remove"/>
<protection id="anti tamper" action="remove"/>