为了方便开发,不破坏写好工具的封装性,我们经常讲C#脚本打包成DLL使用,操作流程如下
创建项目,注意选择Net Framework版本,过高Unity无法支持
![img_165966fa1399f537ac08acc1ba5beb69.png](https://yqfile.alicdn.com/img_165966fa1399f537ac08acc1ba5beb69.png?x-oss-process=image/resize,w_1400/format,webp)
![img_df85e2707de447f9590c8d6d0ab6b95c.png](https://yqfile.alicdn.com/img_df85e2707de447f9590c8d6d0ab6b95c.png?x-oss-process=image/resize,w_1400/format,webp)
添加在脚本中使用的unity引用,在封装的脚本中我只使用了UnityEngine.dll,所以添加一个UnityEngine.dll就可以来了
![img_ef8e6b2dac76c117bb87af237173c00a.png](https://yqfile.alicdn.com/img_ef8e6b2dac76c117bb87af237173c00a.png?x-oss-process=image/resize,w_1400/format,webp)
![img_f1ece5cf8ec51bb862a81b10f6145db0.png](https://yqfile.alicdn.com/img_f1ece5cf8ec51bb862a81b10f6145db0.png?x-oss-process=image/resize,w_1400/format,webp)
![img_932fa25bcdeecab78cb42132156bbd04.png](https://yqfile.alicdn.com/img_932fa25bcdeecab78cb42132156bbd04.png?x-oss-process=image/resize,w_1400/format,webp)
在引用里面出现新添加的引用
![img_45ef310a57b8c201adad61eb4f32a669.png](https://yqfile.alicdn.com/img_45ef310a57b8c201adad61eb4f32a669.png?x-oss-process=image/resize,w_1400/format,webp)
然后添加我们要编译的脚本
![img_b21ccbb96ea81724269e8a04368b8fd8.png](https://yqfile.alicdn.com/img_b21ccbb96ea81724269e8a04368b8fd8.png?x-oss-process=image/resize,w_1400/format,webp)
![img_fa67dcb098a61ada628e4c3e8dc47f68.png](https://yqfile.alicdn.com/img_fa67dcb098a61ada628e4c3e8dc47f68.png?x-oss-process=image/resize,w_1400/format,webp)
删除多余初始类
![img_abea835bc3fbb48fb7fa07a2c1c0b5b9.png](https://yqfile.alicdn.com/img_abea835bc3fbb48fb7fa07a2c1c0b5b9.png?x-oss-process=image/resize,w_1400/format,webp)
右键启动项Debuger选择属性
![img_14482b7322da4a035f5b213f5f2d32c8.png](https://yqfile.alicdn.com/img_14482b7322da4a035f5b213f5f2d32c8.png?x-oss-process=image/resize,w_1400/format,webp)
选择生成里面的XML文档文件,这样打包出来的dll里面的注释也会显示,如果有自定义Conditional属性,例如:Unity Debug输出到屏幕并保存到本地中用到的编译条件[Conditional("EnableLog")],在条件编译符号里面添加对应的编译条件
![img_4a70d4c9544866680259177b8621c556.png](https://yqfile.alicdn.com/img_4a70d4c9544866680259177b8621c556.png?x-oss-process=image/resize,w_1400/format,webp)
右键解决方案选择重新生成解决方案
![img_813b7f0f3843247f5ef638949ecc587a.png](https://yqfile.alicdn.com/img_813b7f0f3843247f5ef638949ecc587a.png?x-oss-process=image/resize,w_1400/format,webp)
右键选择在资源管理器中打开文件夹
![img_fc2a5b7826518718e7399edfe50a50a8.png](https://yqfile.alicdn.com/img_fc2a5b7826518718e7399edfe50a50a8.png?x-oss-process=image/resize,w_1400/format,webp)
在打开文件夹中的bin中的debug文件夹中会找到生成的dll和对应的XML文件
![img_f2c166d61af19e48d3dce50f93dc1c02.png](https://yqfile.alicdn.com/img_f2c166d61af19e48d3dce50f93dc1c02.png?x-oss-process=image/resize,w_1400/format,webp)
然后把对应的dll和xml粘贴到Unity中的Plugins文件夹中就大功告成
![img_7db7fe1a16976ee5bf0b2787b88d54ba.png](https://yqfile.alicdn.com/img_7db7fe1a16976ee5bf0b2787b88d54ba.png?x-oss-process=image/resize,w_1400/format,webp)
![img_6f71221fb7769ac72b08755f97efda70.png](https://yqfile.alicdn.com/img_6f71221fb7769ac72b08755f97efda70.png?x-oss-process=image/resize,w_1400/format,webp)