搜索

4

主题

8

帖子

34

积分

新手上路

Rank: 1

积分
34
发表于 2018-12-31 16:24:01 914 浏览 4 回复

使用IL工具报错

点击ET工具中的ILRuntime>Generate CLR Binding Code by Analysis,报了以下错误:


自己照着教程写了一个Adapter,还是报错。
这个问题经常看到,之前不知怎么弄就好了,现在又反复出现。
麻烦知道的帮忙解答下,谢谢~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

4

主题

8

帖子

34

积分

新手上路

Rank: 1

积分
34
 楼主| 发表于 2019-1-1 14:01:56
这个问题我仔细翻了源代码,终于搞懂。主要看下ETHotfix中的IEvent类脚本。作者对热更层的事件类继承分了两种情况:1.当IL模式关闭时,事件类继承自ETModel.AEvent,这时因为是跨域继承,所以必须要写Adaptor,但AEvent又是泛型类,必须每种泛型写个适配类,这基本行不通,所以作者又用了第二种做法;2.当IL模式打开时,事件类继承自ETHotfix.AEvent,这时由于没有跨域继承就不必写适配类了。
总结:出现这个报错后,先切换到IL模式下,用VS重编译客户端代码,将DLL拷贝至Unity工程中(有可能是脚本自动操作),再用ILRuntime>Generate CLR Binding Code by Analysis工具分析就不会报错了~
回复

使用道具 举报

4

主题

8

帖子

34

积分

新手上路

Rank: 1

积分
34
 楼主| 发表于 2019-1-1 14:04:41
至于为什么不直接继承自ETHotfix.AEvent,我还没想通,希望猫熊大大如果有看到,给解答下当初的设计用意何在?
回复

使用道具 举报

0

主题

80

帖子

237

积分

超级版主

熊猫

Rank: 8Rank: 8

积分
237
发表于 2019-1-2 15:21:01 来自手机
没错,这个问题就是切换的时候没有重新编译导致的。ilrt最好不要继承mono层的东西
来自: 微社区
回复

使用道具 举报

0

主题

1

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2019-4-21 11:05:41
受益匪浅
回复

使用道具 举报

返回列表
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

团队

ET社区

官方客服

QQ:754394098

讨论QQ群:

474643097(1群)

253518148(2群)

快速回复 返回顶部 返回列表