Unity Assembly Definition 程序集管理器

Assembly Definition是Unity2017.3以后出的一个功能,主要在于解决庞大的程序集编译时效问题,也就是说,你一个很大的程序集只是改了一点,但是整个程序集就都需要编译,这就使编译时间有点冗余,所以程序集也可以像我们框架一样,使用一些模块的方式,而Assembly Definition就是为是解决这个推出的一个功能,更多详细的介绍以官方为准。
使用方法比较简单,只要在脚本所在文件夹下创建一个Assembly Definition文件,那么在这文件夹本身以及其子文件夹下的所有脚本就会汇总到这个程序集,除非子文件夹有其它的程序集,那这个文件夹及其子文件夹就会在这个程序集被排除。这里说下使用时注意的细节:
1.重命名必须在Inspector面板上重命名。只改文件名是不行的。这也算是unity的一个特有诟病吧。
2.如果你的脚本包括了Editor脚本,在打包时会产生报错。因为程序集无法帮你区分。所以我们需要在每个Assembly Definition管理的代码文件夹里加入子程序集管理器。建议使用-CSharp和-CSharp.Editor结尾这样命名规范,也能更直观的看出意思。
3.尽量合理的构建清晰的程序集架构。我们使用这些东西,就是为了更好的服务于我们的日常维护,让项目可持续迭代。所以一切以结构清晰,功能易用好上手为主。我们在层级结构上应该做到简而不臃。我们具体的可以使用文件目录的方式来维护。如果单个程序集达到编译时间过长时,我们就可以考虑拆分了。这样可以提升开始效率。
Tip:使用 Assembly Definition后,你可能会发现,有些没有定义程序集或者包含在内的目录,代码无法互相访问。这里就要检查代码是否包含在程序集里。这可能是一开始不了解这个功能会产生的疑惑。

你可能感兴趣的:(Unity Assembly Definition 程序集管理器)