Unity 打包代码到 DLL
创始人
2024-05-29 04:22:01

Unity 打包代码到 DLL

使用Unity API PlayerBuildInterface.CompilePlayerScripts 将项目中的代码生成为 DLL 程序集

在 Editor 文件夹下新建脚本 CompileDll

using UnityEngine;
using UnityEditor;
using UnityEditor.Build.Player;
using System.IO;public class CompileDll
{// 菜单栏添加按钮[MenuItem("Tools/CompileDll")]static void Compile(){// 设置需要打DLL 的平台 BuildTarget target = BuildTarget.StandaloneWindows64;ScriptCompilationSettings scriptCompilationSettings = new ScriptCompilationSettings();scriptCompilationSettings.group = BuildPipeline.GetBuildTargetGroup(target);scriptCompilationSettings.target = target;// 获取 dll 输出目录string outDir = Application.dataPath;outDir = outDir.Substring(0, outDir.IndexOf("Assets"));outDir = string.Format("{0}DLL", outDir);if (!Directory.Exists(outDir)){Directory.CreateDirectory(outDir);}// 编译DLLScriptCompilationResult scriptCompilationResult = PlayerBuildInterface.CompilePlayerScripts(scriptCompilationSettings, outDir);foreach(var ass in scriptCompilationResult.assemblies){Debug.LogFormat("compile assemblies:{0}/{1}", outDir, ass);}}}

在这里插入图片描述
点击 Tools->CompileDll 按钮,在 代码中 outDir 目录下生成所有 dll 以及 对应的 .pdb
在这里插入图片描述
如上 DLL 程序集是如何确定名字的?
如上 AA.dll
在 需要生成 AA.dll 的 C# 脚本目录下,新建 AA.asmdef
在 C# 脚本所在目录 右键 Create -> Assembly Definition
在这里插入图片描述
然后生成一个 .asmdef 的文件,选择文件在 Inspector 面板输入名字
在这里插入图片描述

然后在 AA.asmdef 目录新建一个 Npc.cs
在这里插入图片描述
选择 Npc.cs 看 Inspector 面板可以看到 Npc.cs 归属于 AA.dll 程序集
具体细节可以学习了解 Unity asmdef 文件的创建以及作用

在项目中任意选一个 C# 脚本,都可以在 Inspector 面板看到它归属的 dll 程序集
在这里插入图片描述
这就是上面执行编译导出的 dll 的来源

相关内容

热门资讯

世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...