当前位置: 首页 > news >正文

Unity中程序集dll

一:前言

一个程序集由一个或多个文件组成,通常为扩展名.exe和.dll的文件称为程序集,.exe是静态的程序集,可以在.net下直接运行加载,因为exe中有一个main函数(入口函数),.dll是动态链接库,通过反射动态加载。程序集是一个AssemblyDefinitionFile.asmdef文件,它的内容是一个JSON格式的字段,创建之后,就可以打开直接编辑JSON
一个应用程序的结构从大到小排序是应用程序域(AppDomain)、程序集(Assembly),模块(Module),类型(Type),成员(EventInfo、FieldInfo、MethodInfo、PropertyInfo) 几个层次


二:程序集的好处

——脚本有改动时,Unity会重新编译当前程序集下所有脚本,过多脚本会导致编译时间冗长,对于大项目不友好,所以使用程序集可以减少代码编译的时间,使用程序集后每次脚本有修改后,只会重新编译当前脚本所属程序集下的所有脚本和引用此程序集的程序集下的所有脚本
——同一程序集内任何脚本都可相互访问引用,导致项目耦合度高,难以重构和优化改进代码
——可以设置程序集的目标平台,只在特定平台才会被编译


三:创建dll

默认普通文件夹下创建的脚本都打包进Assembly-CSharp.dll,Editor文件夹下创建的都打包进Assembly-CSharp-Editor.dll
同时也可以自己创建程序集,在某个目录下创建程序集,同级文件夹或子文件夹下的脚本都会打包进此dll中,注意同一个目录下只能有一个dll
程序集文件目录:Library—ScriptAssemblies

——Name:一个脚本属于哪个程序集只能通过此参数控制,修改程序集文件的名称没有作用
——Allow ‘unsafe’ code:如果程序集中使用了Unsafe关键字,需要勾选此选项,否则报错
——Auto Referenced:指定是否所有预定义程序集都引用此程序集
——No Engine References:启用此属性后,Unity在编译程序集时不会向UnityEditor或UnityEngine添加引用,适用于可以在Unity或其他平台的项目中通用的程序集
——Define Constrains:添加预定义宏,读取预定义宏之后才编译,可以不填
——Assembly Defintion References:程序集的引用


四:程序集的引用

例如脚本test1在A程序集中,脚本test2在B程序集中,在test2中无法访问到test1,需要将A程序集添加为B程序集的引用

http://www.lryc.cn/news/169925.html

相关文章:

  • 识典百科取代快懂百科,如何在识典百科创建词条?
  • 入门python
  • 基于vue的黑马前端项目小兔鲜
  • 细节决定成败!jdbc的List<?> qryList4Sql(String sql)报错-标志符过长
  • ChatGLM Pytorch从0编写Transformer算法
  • 9.18算法
  • 【Spring Bean的生命周期】
  • 信息化发展49
  • linux常用命令(4):mkdir命令(创建目录)
  • 企业架构LNMP学习笔记58
  • [JAVAee]SpringBoot配置文件
  • 复制远程连接到Linux使用VIM打开的内容到Windows
  • 左神算法之中级提升班(9)
  • SmartNews 基于 Flink 的 Iceberg 实时数据湖实践
  • websocket请求通过IteratorAggregate实现流式输出
  • 《C和指针》笔记28:可变参数和stdarg宏
  • Matlab论文插图绘制模板第114期—带图形标记的图
  • Python:用于有效对象管理的单例模式
  • 【TCP】滑动窗口、流量控制 以及拥塞控制
  • Xilinx FPGA管脚约束语法规则(UCF和XDC文件)
  • 服务网格和CI/CD集成:讨论服务网格在持续集成和持续交付中的应用。
  • 代码随想录训练营第56天|583.两个字符串的删除操作,72.编辑距离
  • 【JDK 8-Lambda】3.1 Java高级核心玩转 JDK8 Lambda 表达式
  • 【C#】XML的基础知识以及读取XML文件
  • Immutable.js简介
  • C语言进阶教程(位操作和进制数的表示)
  • Loguru:功能强大、简单易用的Python日志库
  • idea之maven的安装与配置
  • 【最新面试问题记录持续更新,java,kotlin,android,flutter】
  • 面试:经典问题解决思路