UNITY如何使用自制DLL?

UNITY如何使用自制DLL?,第1张

步骤如下:

1、编写要引用的程序集。

我们几乎可以编写任何用途的程序集,就像用C#开发.net类库一样。不过需要注意的是,如果要编写从Unity继承的类(比如从MonoBehaviour派生的组件等等),则不能使用namespace,目前的Unity不支持,用了编译报错。

虽然不能使用namespace,但我实际测试后发现若新项目中创建了与引用的程序集同名的类,Unity编译并不会报错,而且实际执行也很正常。由于没有介绍Unity内部如何编译的资料,我们还是尽量不要重名吧。

2、将程序集DLL放置到目标Unity工程的Asset目录下(这点很重要)。

虽然可以用VisualStudio编写Unity代码,但实际上Unity生成游戏时还要自己再编译一遍。因此,在VS中的引用设置不能被Unity所使用。我曾经尝试过把要引用的程序集放在GAC中也不行。正确的做法是把dll放在Asset下,Unity能很好地识别它。

如果我们把组件编写在程序集中的话,展开程序集就能看到这些组件,甚至可以直接把它们拖动到GameObject中,很强大吧!

3、在目标工程中添加引用,编写代码。

这个没什么好说的。

4、测试通过,成功!

由于可以方便地使用程序集,

如何反编译dll,如何将反编译的文件生成dll。

反编译dll

安装vs,最好是最新版本的,如果要反编译的dll使用新版本创建的,也能反编译成功。下面是详细的反编译步骤。

1.打开C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ildasm.exe,这个程序是微软提供的反编译软件,打开要反编译的dll。

2.然后选择文件-转储,这时会d出转储选项的对话框(一般按照默认即可),设定好以后选择转储位置。

3.完成后会生成以res和il结尾的文件,还有可能包含以.resources结尾的文件。这样我们就将dll反编译完成。根据需要修改il文件。

如何反编译.resources文件呢

选择开始-所有程序-vs安装文件夹-vs tools-开发人员命令提示符,然后在d出的dos窗口下输入resgen 1.resources 1.resx,这样resources文件变转化成可以编辑的resx文件。

组合dll

先说如何将resx文件组合成resources文件

选择开始-所有程序-vs安装文件夹-vs tools-开发人员命令提示符,然后在d出的dos窗口下输入resgen 1.resx 1.resources,这样resx文件变转化成可以编辑的resources文件。

将反编译后的文件组合成dll文件

选择开始-所有程序-vs安装文件夹-vs tools-开发人员命令提示符,然后在d出的dos窗口下输入ilasm /dll/resource=1.res 1.il,注意res文件和il文件位置不可以改变,这样就生成了想要的dll。

当然如果对生成的dll不放心,可以使用.net Reflector进行查看。希望你能成功


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11908693.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存