大神们,谁可以解释下为什么要inject,inject是什么意思,inject和fix有什么关系,怎么在统一工程下,测试fix的补丁
为什么,每一次在编辑器下修改代码后,都要重新inject一下,不然就报这个错Exception: assembly may be not injected yet, cat find IFix.ILFixInterfaceBridge, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
发现问题->改bug,加Patch标签->生成Patch文件->回退到有问题的版本->Inject->加载Patch进行测试
你每次修改代码后,会重新编译Assembly-CSharp.dll
我也遇到了这个问题
InjectFix 要想使补丁生效需要对 DLL 进行注入,对需要热更的方法开头新增if(发现补丁) 执行补丁();这样的逻辑,所以需要 Inject 这一步,但是每次修改代码后,如果你开启了 Unity 的自动刷新,Unity会自动编译,生成新的 Assembly-CSharp.dl,这样就把注入好的代码给覆盖了,因此需要重新注入,否则补丁逻辑无法生效