Библиотека C# (Harmony) работает должным образом в редакторе Godot, но не работает в сборке Godot.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Библиотека C# (Harmony) работает должным образом в редакторе Godot, но не работает в сборке Godot.

Сообщение Anonymous »

Я пытаюсь использовать Harmony 2.3.3 с Godot 4.2.1, и в редакторе он работает должным образом, но не в экспортированной сборке.
Я пытаюсь чтобы исправить префикс метода, и в редакторе метод успешно исправлен, но в экспортированной сборке метод не может быть исправлен, и выдается следующее исключение:

Код: Выделить всё

System.ArgumentException: GenericArguments[0], 'MonoMod.Utils.Cil.CecilILGenerator', on 'MonoMod.Utils.Cil.ILGeneratorProxy[TTarget]' violates the constraint of type 'TTarget'.
---> System.TypeLoadException: GenericArguments[0], 'MonoMod.Utils.Cil.CecilILGenerator', on 'MonoMod.Utils.Cil.ILGeneratorProxy[TTarget]' violates the constraint of type parameter 'TTarget'.
at System.RuntimeTypeHandle.Instantiate(RuntimeType inst)
at System.RuntimeType.MakeGenericType(Type[] instantiation)
--- End of inner exception stack trace ---
at System.RuntimeType.ValidateGenericArguments(MemberInfo definition, RuntimeType[] genericArguments, Exception e)
at System.RuntimeType.MakeGenericType(Type[] instantiation)
at MonoMod.Utils.Cil.ILGeneratorShim.GetProxy()
at MonoMod.Utils.DynamicMethodDefinition.GetILGenerator()
at HarmonyLib.MethodPatcher..ctor(MethodBase original, MethodBase source, List`1 prefixes, List`1 postfixes, List`1 transpilers, List`1 finalizers, Boolean debug)
at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchProcessor.Patch()
at HarmonyLib.Harmony.Patch(MethodBase original, HarmonyMethod prefix, HarmonyMethod postfix, HarmonyMethod transpiler, HarmonyMethod finalizer)
at HarmonyTester.Test() in G:\Godot Projects\HarmonyExportIssue\HarmonyTesting\HarmonyTester.cs:line 24
Похоже, это какая-то проблема с зависимостями, о которой говорилось в этом выпуске на Harmony Github, но я понятия не имею, куда идти дальше и как решить эту проблему.
p>
Минимально воспроизводимый пример (Godot 4.2.1-mono)
Встроенная версия примера

Подробнее здесь: https://stackoverflow.com/questions/785 ... oes-not-wo
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение