Unity Assembly definitions如何使用?|介绍
Assembly definitions
程序集是一个C#代码库,它包含由脚本定义的已编译类和结构,还定义了对其他程序集的引用。
默认情况下,Unity将几乎所有的游戏脚本编译到Assembly-CSharp.dll。
但是当你向项目中添加更多代码时,会有一些缺点:
-
每当你改变一个脚本时,Unity就必须重新编译所有其他脚本,这增加了整体编译时间。
-
任何脚本都可以直接访问任何其他脚本中定义的类型,这使得重构和改进代码变得更加困难。
-
所有脚本都是为所有平台编译的。
通过Assembly definitions,你可以组织代码以促进模块化和可重用性。你为项目定义的程序集中的脚本将不再添加到默认程序集中,并且只能访问你指定的其他程序集中的脚本。
创建方法:
可以通过Assets > Create > Assembly Definition菜单创建。该文件的扩展名是.asmdef。
打开VS可以看到asmdef文件后会将当前所在文件夹以下的所有脚本从Assembly-CSharp.dll抽离出来然后单独编译到一个dll中。 这样我们每次编译只会编译脚本对应的dll,从而节省编译时间。
设置平台:
我们为了节省编译时间,只需要为Editor平台应用Assembly Definition。
在Exclude Platforms勾选想要排除的平台。
设置仅编辑器模式下使用Assembly Definition:
勾选TestAssemblies
TestAssemblies 指仅在编辑器中应用Assembly Definition,且如果没有被外部引用,打包后就会剥离掉这个dll。
程序集引用:
在Refrerences绑定另外一个Assembly即可。
作者:Miracle
来源:麦瑞克博客
链接:https://www.playcreator.cn/archives/unity/1419/
本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议,转载请注明!
来源:麦瑞克博客
链接:https://www.playcreator.cn/archives/unity/1419/
本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议,转载请注明!
THE END
0
打赏
海报
Unity Assembly definitions如何使用?|介绍
Assembly definitions
程序集是一个C#代码库,它包含由脚本定义的已编译类和结构,还定义了对其他程序集的引用。
默认情况下,Unity将几乎所有的游戏脚本编译……
文章目录
关闭
Test Assemblies
没有看到此选项,有特别启动的方式吗?
目标Unity版本是2021.3.5f1