InjectFix
InjectFix copied to clipboard
InjectFix is a hot-fix solution library for Unity
冷更新版本,比如App 1.1上线后,用InjectFix还能对App1.0版本进行热更新吗? 是需要回退到App1.0的版本然后单独打一个App1.0用的Patch包,然后多个冷更版本自行去找自己的Patch?还是有什么自动化方案或思路? Ps: ILFixEditor中VersionSelector,doRestore还有doBackup跟这部分功能有关的吗?具体恢复Dll之后怎么操作可以解释一下吗?
新增类使用报错
` using UnityEngine; using UnityEngine.UI; namespace ClientX2HotFix { // 新增类 [IFix.Interpret] public class ColorClass { public Color colorRed = new Color(1, 0, 0); } public class Test : MonoBehaviour {...
System.Exception: can not load method [GetEvent] of System.Type at IFix.Core.PatchManager.readMethod (System.IO.BinaryReader reader, System.Type[] externTypes) [0x00000] in :0 at IFix.Core.PatchManager.Load (System.IO.Stream stream) [0x00000] in :0
加载成功,热修的东西都加载出来了,但是报错(现在没发现这个报错影响了什么)。 InvalidOperationException: The builder was not properly initialized. at System.Resources.SatelliteContractVersionAttribute.get_Version () [0x00000] in :0 at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in :0 at...
现在不支持添加字段的情况下,有些时候仅修bug也有点麻烦
项目中某个函数中调用了一个带默认值参数的函数,其中一个参数是Action,代码示意如下 public class A{ public B b; public void MethodA(){ ...... b.MethodB(()=>{ // somecode }); } } public class B{ public void MethodB(Action callback = null, bool isTrue = false){...
100000次Vector3相加 InjectFix 5000ms ILRuntime 1200ms 但是ILRuntime感觉不好用,还是想用InjectFix 只是这个性能差的有点多呃。。。大佬后面有没有什么优化的想法呀?
如果后面新增Protobuf字段之类的,可以怎么搞呢?
修改的地方有两个,isCustomClassPlainObject 函数屏蔽掉检查基类是否是System.Object,让新增的继承原生类可以生成匿名对象,第二个地方是getMethodId 函数判断是否要生成IL代码是修改判断如果是构造函数并且不是System.Object就导出构造函数的IL代码,运行可以正常实现继承原生类了,请问下车大佬,这样放开会有啥影响么?我们想完全使用InjectFix实现修复bug并且日常周版本的代码更新。