Tencent / xLua

xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc.
Other
9.4k stars 2.45k forks source link

[Solution] LuaException: xlua.access, no field __Hotfix0_Update #850

Open dreamCirno opened 3 years ago

dreamCirno commented 3 years ago

关于 xLua 注入成功后,又触发了编译,覆盖了注入结果引发该 Bug 的解决方案 在 Editor 文件夹内,创建如下脚本:


using UnityEditor.Build; using UnityEditor.Build.Reporting; using XLua;

class XLuaBuildProcessor : IPostBuildPlayerScriptDLLs {

public int callbackOrder {
    get {
        return 0;
    }
}

public void OnPostBuildPlayerScriptDLLs(BuildReport report) {
    string dir = string.Empty;
    foreach (var item in report.files) {
        if (item.path.Contains("Assembly-CSharp.dll")) {
            dir = item.path.Replace("Assembly-CSharp.dll", "");
        }
    }
    Hotfix.HotfixInject(dir);
}

}

ShenKang4181 commented 3 years ago

非常好,解决了我的问题,爱你

chexiongsheng commented 3 years ago

不如把这个放到FAQ里头?帮忙提交个PR?

dreamCirno commented 3 years ago

不如把这个放到FAQ里头?帮忙提交个PR?

已提交

chexiongsheng commented 3 years ago

我回头看了下,这个在2020年的时候其实已经放到master了:https://github.com/Tencent/xLua/commit/799a4fe88e60d2b1d11e10a2911c0c21898e4d9e

dreamCirno commented 3 years ago

确实,那就是使用者的使用问题吗?因为我也是因为被这个问题困扰,才用现在这个办法解决。

chexiongsheng commented 3 years ago

可能是版本的问题,当时只是提交到master,没发布release。