草庐IT

ILRuntime1

全部标签

Unity 热更新方案之——ILRuntime

文章目录前言一、ILRuntime是什么?二、ILRuntime使用1.跨域委托2.跨域继承3.CLR绑定与重定向前言做游戏离不开热更新,目前市面上热更新方案用的比较多的是Lua(XLua,ToLua),最近又出现了基于C#的热更新huatuo(已改名HybridCLR又叫wolong)。来不及学习了,以后用到了再去了解吧。笔者入行做的第一个项目是利用ILRuntime进行热更新的,当时也是用的稀里糊涂的,一些坑点都是项目主程去解决的。这里做一个简单的回顾。一、ILRuntime是什么?1.官方简介ILRuntime项目为基于C#的平台(例如Unity)提供了一个纯C#实现,快速、方便且可靠的

热更新和ILRuntime

在上一篇文档中提到了unity的c#代码运行的方式以及可以通过拆分代码模块,将可能需要更新扩展的逻辑放到一个独立的.dll中,通过更新这个.dll文件来实现热更新。但是这种朴素的想法在ios平台会受到限制。这篇文档就来着重讲一下ios到底是怎么限制这种更新方式的,以及ILRuntime是如何绕过限制来实现通过.dll做代码热更新的。前面提到c#编译出来的.dll文件不是“老古董”的windows下的动态链接库,而是中间语言(CIL)的程序集(assemblly)。对unity来说这些CIL是通过mono虚拟机来运行的,而mono又是如何运转的呢?我们知道程序运行通常有三种方式:静态编译(C/C

热更新和ILRuntime

在上一篇文档中提到了unity的c#代码运行的方式以及可以通过拆分代码模块,将可能需要更新扩展的逻辑放到一个独立的.dll中,通过更新这个.dll文件来实现热更新。但是这种朴素的想法在ios平台会受到限制。这篇文档就来着重讲一下ios到底是怎么限制这种更新方式的,以及ILRuntime是如何绕过限制来实现通过.dll做代码热更新的。前面提到c#编译出来的.dll文件不是“老古董”的windows下的动态链接库,而是中间语言(CIL)的程序集(assemblly)。对unity来说这些CIL是通过mono虚拟机来运行的,而mono又是如何运转的呢?我们知道程序运行通常有三种方式:静态编译(C/C
12