Unity与 DLL文件 ☀️| 怎样使用 C# 类库 生成一个DLL文件 并 调用!

简介: 📢前言🎬生成DLL文件🎥使用 C#类库 将Unity中的脚本打包成 DLL文件 并调用🏳️‍🌈第一步:打开Visual Studio之后,新建一个项目🏳️‍🌈第二步:选择类库(.NET Framework),改个名字,选择一个位置路径🏳️‍🌈第三步:然后在创建的脚本中简单写一点代码,如下所示🏳️‍🌈第四步:然后在解决方案资源管理器右键这个脚本 -> 添加 -> 引用🏳️‍🌈第五步:然后点击浏览,找到Unity安装路径 -> Editor -> Data -> Managed 下的这两个DLL 文件,点击添加!

📢前言

前一篇博客讲了一下DLL的基本概念,链接在这:Unity与 DLL文件 ☀️| 什么是DLL✨?

那这篇文章就对怎样生成一个DLL文件做一个概述

一起来看一下怎样生成一个简单的DLL吧!

🎬生成DLL文件

生成DLL文件有好几种方式,可以使用 C#类库来生成 DLL文件 并使用


也可以使用VC C++语言编写代码生成DLL文件使用


我们先来看第一种方式,可以使用C#类库来生成DLL文件并调用


🎥使用 C#类库 将Unity中的脚本打包成 DLL文件 并调用

首先,我们打开Visual Studio新建一个类库。我这里使用的是Visual Studio2017,不同版本可能有所差异,不过问题不大


如果没有Visual Studio这个软件的可以在网上搜一下相关文章下载就好啦,能看到这篇文章的小伙伴应该都安装了才对!


🏳️‍🌈第一步:打开Visual Studio之后,新建一个项目

image.png

🏳️‍🌈第二步:选择类库(.NET Framework),改个名字,选择一个位置路径

image.png


🏳️‍🌈第三步:然后在创建的脚本中简单写一点代码,如下所示

image.png


🏳️‍🌈第四步:然后在解决方案资源管理器右键这个脚本 -> 添加 -> 引用

image.png


🏳️‍🌈第五步:然后点击浏览,找到Unity安装路径 -> Editor -> Data -> Managed 下的这两个DLL 文件,点击添加!

image.png

然后点击确定

image.png


🏳️‍🌈第六步:在Unity中写一个脚本test,内容如下:

image.png


🏳️‍🌈第七步:在类库中引入unity脚本文件

image.png


image.png

🏳️‍🌈第八步:生成解决方案,生成DLL文件

image.png


🏳️‍🌈第九步:在这个VS项目的生成路径下找到生成的DLL文件


image.png

🏳️‍🌈第十步:在Unity中新建一个文件夹Plugins,并将生成的这个DLL文件放进去

image.png

然后直接将这个test脚本挂在到摄像机上即可

image.png

然后再把原来的Unity中写的test脚本删除掉,运行程序即可!


打印的内容就是我们将Unity中的脚本打包成DLL文件中的脚本内容

image.png

到这一步只是将Unity中C#写的脚本打包成DLL文件并调用了一下,并没有调用DLL本身的内容,那接下来就是调用一下DLL中的内容!


🏳️‍🌈第十一步:Unity中新建一个脚本Test,调用DLL中的方法,别忘了将该脚本挂在到摄像机上

image.png

运行后打印如下:就是我们DLL文件中的方法

image.png

好啦,那使用C#打包成DLL文件,并进行调用的方法就介绍完毕啦!


💬总结

本文讲述了怎样通过 C#类库 来生成一个 DLL文件 并调用

代码都是通过C#语言编写,与我们平时写代码并无差异,所以也很简单

还有另一种方法是通过VC,使用C++语言编写生成的DLL文件,这种用到的时候也比较多

那下一篇再讲一下通过VC生成 DLL文件并调用,本篇文章就到这里啦!


相关文章
|
1月前
|
设计模式 C# 图形学
Unity 游戏引擎 C# 编程:一分钟浅谈
本文介绍了在 Unity 游戏开发中使用 C# 的基础知识和常见问题。从 `MonoBehavior` 类的基础用法,到变量和属性的管理,再到空引用异常、资源管理和性能优化等常见问题的解决方法。文章还探讨了单例模式、事件系统和数据持久化等高级话题,旨在帮助开发者避免常见错误,提升游戏开发效率。
52 4
|
2月前
|
存储 C#
【C#】大批量判断文件是否存在的两种方法效率对比
【C#】大批量判断文件是否存在的两种方法效率对比
52 1
|
2月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
117 0
|
2月前
|
C#
Delphi可不可以制作出像c#那样的dll类库?
在Delphi中,创建DLL项目(如dll.dpr)并定义一个类TMyCls后,在另一个项目(如test.dpr)中可以引入此DLL并直接实例化和调用类的方法。然而,Delphi目前主要支持两种DLL形式:动态链接库(需显式声明exports,仅支持函数调用)和ActiveX DLL(需定义IDL接口)。这两种方式都较为繁琐。相比之下,C# 的DLL类库更为便捷,编写并编译后即可在其他项目中直接使用。
|
4月前
|
监控 安全 C#
使用C#如何监控选定文件夹中文件的变动情况?
使用C#如何监控选定文件夹中文件的变动情况?
125 19
|
4月前
|
编译器 C# Windows
C#基础:手动编译一个.cs源代码文件并生成.exe可执行文件
通过上述步骤,应该能够高效准确地编译C#源代码并生成相应的可执行文件。此外,这一过程强调了对命令行编译器的理解,这在调试和自动化编译流程中是非常重要的。
378 2
|
4月前
|
图形学 C# 开发者
全面掌握Unity游戏开发核心技术:C#脚本编程从入门到精通——详解生命周期方法、事件处理与面向对象设计,助你打造高效稳定的互动娱乐体验
【8月更文挑战第31天】Unity 是一款强大的游戏开发平台,支持多种编程语言,其中 C# 最为常用。本文介绍 C# 在 Unity 中的应用,涵盖脚本生命周期、常用函数、事件处理及面向对象编程等核心概念。通过具体示例,展示如何编写有效的 C# 脚本,包括 Start、Update 和 LateUpdate 等生命周期方法,以及碰撞检测和类继承等高级技巧,帮助开发者掌握 Unity 脚本编程基础,提升游戏开发效率。
109 0
|
4月前
|
C#
C# WPF 将第三方DLL嵌入 exe
C# WPF 将第三方DLL嵌入 exe
100 0
|
4月前
|
C# 图形学 数据安全/隐私保护
Unity数据加密☀️反射的用法:变量、属性、方法、重载,反射在DLL中的使用方法
Unity数据加密☀️反射的用法:变量、属性、方法、重载,反射在DLL中的使用方法
|
4月前
|
PHP 数据库 数据安全/隐私保护
Unity数据加密☀️ 三、加密DLL供Unity使用
Unity数据加密☀️ 三、加密DLL供Unity使用