dll,动态链接库。C++和C#都能打包dll。C++里面是二进制,C#里面是中间语言IL。本质是两种文件,碰巧用一样的后缀。C# dll还有专用名称,叫程序集Assembly。
程序集可以调用,可以反编译查看,不能修改,不能直接运行。
VS打包dll时它依赖的dll会全部一起拷贝过去。
大型Unity项目通常会划分多dll。
Unity划分多dll开发一种方式是创建asmdef,把属于此程序集的脚本放在里面及其子文件夹。
另一种是脱离Unity,纯VS开发,依赖的Unity程序集全部拷贝到csproj里,或者直接引用Unity编辑器里的也行。
Unity导入dll相关
我们知道C++和C#编译的库都叫dll。在Unity里C# dll的type显示为Managed,C++的dll显示为Native。C# dll有的可以展开看见里面的类。
dll能展开的条件:
- 是C# dll;
- 勾选Auto Reference;
- 里面有继承MonoBehavior的类。只会显示这些类。