Skip to content

Commit bbfd9d4

Browse files
committed
更新2018兼容性问题的faq
1 parent 92227f7 commit bbfd9d4

1 file changed

Lines changed: 6 additions & 18 deletions

File tree

Assets/XLua/Doc/faq.md

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,35 +36,23 @@ il2cpp默认会对诸如引擎、c#系统api,第三方dll等等进行代码剪
3636

3737
## Unity 2018兼容性问题解决
3838

39-
1、ILGenerator报错
39+
2.1.14前的版本都建议先升级到2.1.14,升级后,还有如下两个使用注意事项:
4040

41-
这是因为Api Compatibility Level设置为.net standard 2.0,而.net standard 2.0不支持emit导致的。
41+
1、默认配置不生成代码运行会报错
4242

43-
解决办法(三选一):
43+
这是因为Api Compatibility Level设置为.NET Standard 2.0,而.NET Standard 2.0不支持emit导致的。
4444

45-
* 把“Scripting Backend”设置为3.5
46-
47-
* 把Api Compatibility Level设置为.Net 4.x
48-
49-
* 更新到2019年1月8号后面的版本,可以解决编译问题,但由于没有emit的支持,编辑器下要生成代码才能跑了,建议执行“XLua/Generate Minimize Code”,这个少生成些代码,而且可以规避问题2。
50-
51-
“XLua/Generate Minimize Code”:这个菜单只生成编辑器下必要的生成代码,比如delegate<->function,interface<->table适配代码。
45+
解决方案:平时开发Api Compatibility Level设置为.NET 4.x,就能支持编辑器不生成代码开发。发布手机版本时,按Unity官方的建议,可配置为.NET Standard 2.0,包会更小些。
5246

5347
2、生成代码后,一些系统类型的生成代码会报一些方法不存在。
5448

55-
据研究表明,Unity 2018.2(比这高的版本也可能会)设置.NET 4.X Equivalent的话,其运行和编译用的库不一致,前者比后者多一些API。
49+
据研究表明,Unity 2018设置.NET 4.X Equivalent的话,其运行和编译用的库不一致,前者比后者多一些API。
5650

5751
运行用的是:unity安装目录\Editor\Data\MonoBleedingEdge\lib\mono\unityjit\mscorlib.dll
5852

5953
编译链接的是:unity安装目录\Editor\Data\MonoBleedingEdge\lib\mono\4.7.1-api\mscorlib.dll
6054

61-
解决办法(二选一):
62-
63-
* 把“Scripting Backend”设置为3.5
64-
65-
* xLua平时开发是不用生成代码的,所以不用管。发包前生成代码也好办,先切换到.NET 3.5生成,再切回来就可以了
66-
67-
综上所述,要想愉快使用xLua,把“Scripting Backend”设置为3.5。
55+
解决办法:2.1.14支持外部mono环境,安装个Unity2017,然后把Unity2017安装目录下的MonoBleedingEdge目录拷贝到工程目录下的Tools目录下即可。
6856

6957
## Plugins源码在哪里可以找到,怎么使用?
7058

0 commit comments

Comments
 (0)