InjectFix
InjectFix copied to clipboard
InjectFix is a hot-fix solution library for Unity
 如上图所示,Inject Fix 是不能用了吗?
BurstAotComplier的order为0,这里对dll都注入一下 注意,要修改一下InjectAssembly中注入dll的地址,因为这个dll在Temp中 ` public class IFixProcess : IPostBuildPlayerScriptDLLs { public int callbackOrder => 1000; public void OnPostBuildPlayerScriptDLLs(BuildReport report) { UnityEngine.Debug.Log("OnPostBuildPlayerScriptDLLs注入开始,PlayerScriptAssemblies"); IFixEditor.InjectAllAssemblys(); UnityEngine.Debug.Log("OnPostBuildPlayerScriptDLLs注入开始,Temp(适配Burst)"); IFixEditor.customAssembliesFolder = "Temp/StagingArea/Data/Managed"; IFixEditor.InjectAllAssemblys(); IFixEditor.customAssembliesFolder = null; }...
1 IFix.Core.PatchManager.Load执行完后 紧接着执行的函数补丁能生效吗? 2 IFix.Core.PatchManager.Load执行完后 同一个协程接下来调用的函数能生效吗?
Condition=OverflowException: Value was either too large or too small for an Int32. StackTrace= System.Convert.ToInt32 (System.UInt32 value) (at :0) IFix.Core.EvaluationStackOperation.PushObject (IFix.Core.Value* evaluationStackBase, IFix.Core.Value* evaluationStackPointer, System.Object[] managedStack, System.Object obj, System.Type type) (at...
车大,   我在修复的函数内调用了这个属性的get方法,然后就有了这个报错  能帮忙解释一下吗,但是如果说我这个方法内不调用IsOnground这个属性,而是调用它的返回值_isGround这和个字段,就不会有这个报错了,有点颠覆了认知了。。。
催更
https://github.com/Tencent/InjectFix/issues/381 https://github.com/Tencent/InjectFix/issues/343
数组不行: (double bps, int workers, int streams)[] Test1((double bps, int workers, int streams)[] table) { return new (double bps, int workers, int streams)[] { (0.3f, 1, 2), (10f, 1, 8),...
1. 使用2022.3.16新建一个空工程(2022.3.14也可以,其它版本未测试),并导入基础的测试代码 2. 执行Inject,可以在Library下找到Assembly-CSharp.dll,查看程序集,可以看到IFix相关内容,如Bridge,MethodWrapper等 3. Target为Windows,然后进行exe导出 4. 导出后找到Assembly-CSharp.dll,再次查看程序集 ,里面是没有IFix对应内容的 5. 在Android平台下也验证过无法热更新CS中的内容 