程序集引用

程序集引用,第1张

程序集引用是一个及一个以上托管模块,以及一些资源文件的逻辑组合。程序集是组件复用,以及实施安全策略和版本策略的最小单位。包含一个或者多个类型定义文件和资源文件的集合。在程序集包含的所有文件中,有一个文件用于保存清单。作为一个单元进行版本控制和部署的一个或多个文件的集合,所有托管类型和资源都包含在某个程序集内,并被标记为只能在该程序集的内部访问,或者被标记为可以从其他程序集中的代码访问。程序集在安全方面也起着重要作用。代码访问安全系统使用程序集信息来确定为程序集中的代码授予的权限集。

Unity开发者可以在一个文件夹中自定义程序集。定义明晰的依赖关系,可以确保脚本更改后,只会重新生成必需的程序集,减少编译时间。

在一个项目中会存在多个程序集,例如SDK集合、热更集合、插件集合、主集合等,如果未自定义程序集,修改其中一个集合的脚本后Unity再次编译,这时Unity会将所有集合都编译一遍,时间的浪费是我们所不希望的。当我们为每一个集合都定义程序集后,修改脚本只会编译对应的程序集。

通过在Unity中点击:Assets >Create >Assembly Definition菜单创建。该文件的扩展名是.asmdef。

需要注意的是程序集名与文件名无关,真正有关联关系的是Inspector面板中Name对应的名称

该程序集我们还可以在解决方案中观察到

程序集依赖关系成树状,一旦确立依赖关系,低层级的程序集则无法调用高层级程序集里的类和方法。

这里我设立了三个程序集:Unity.Hotfix、Unity.Model、Unity.ThirdParty;

他们之间的依赖关系如下

这样在Hotfix程序集里可以调用Model与ThirdParty程序集中的脚本,但是Model无法调用Hotfix程序集中的脚本

程序集会管理它当前所在文件夹和子文件夹中的脚本。

如果一个脚本当前文件夹中定义了一个程序集,它的父文件夹中也定义了一个程序集,该脚本会被归纳到它当前文件夹的程序集中

在平台中可以设置程序集编译平台

这样可以使某些程序集避免在一些特殊平台下被编译,常见的例如我们希望我们的Edtor程序集或热更资源程序集只在编辑器下被编译,那么我们就可以在平台设置中只勾选Editor


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6063182.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存