InjectFix icon indicating copy to clipboard operation
InjectFix copied to clipboard

大神们,谁可以解释下为什么要inject,inject是什么意思,inject和fix有什么关系,怎么在统一工程下,测试fix的补丁

Open fgx86414216 opened this issue 5 years ago • 5 comments

fgx86414216 avatar Oct 13 '20 03:10 fgx86414216

为什么,每一次在编辑器下修改代码后,都要重新inject一下,不然就报这个错Exception: assembly may be not injected yet, cat find IFix.ILFixInterfaceBridge, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null

fgx86414216 avatar Oct 13 '20 03:10 fgx86414216

发现问题->改bug,加Patch标签->生成Patch文件->回退到有问题的版本->Inject->加载Patch进行测试

Shaun-Fong avatar Oct 17 '20 11:10 Shaun-Fong

你每次修改代码后,会重新编译Assembly-CSharp.dll

JourneyHans avatar Nov 14 '20 09:11 JourneyHans

我也遇到了这个问题

89trillion-wenjie avatar Jan 29 '21 09:01 89trillion-wenjie

InjectFix 要想使补丁生效需要对 DLL 进行注入,对需要热更的方法开头新增if(发现补丁) 执行补丁();这样的逻辑,所以需要 Inject 这一步,但是每次修改代码后,如果你开启了 Unity 的自动刷新,Unity会自动编译,生成新的 Assembly-CSharp.dl,这样就把注入好的代码给覆盖了,因此需要重新注入,否则补丁逻辑无法生效

yangruihan avatar Feb 24 '21 08:02 yangruihan