unity3D怎么使用C#的DLL

如题所述

unity3D调用C#的DLL的步骤如下:
1、编写要引用的程序集。
用户可以编写任何用途的程序集,就像用C#开发.net类库一样。不过需要注意的是,如果要编写从Unity继承的类(比如从MonoBehaviour派生的组件等等),则不能使用namespace,目前的Unity不支持,用了编译报错。
2、将程序集DLL放置到目标Unity工程的Asset目录下。
虽然可以用VisualStudio编写Unity代码,但实际上Unity生成游戏时还要自己再编译一遍。因此,在VS中的引用设置不能被Unity所使用。正确的做法是把dll放在Asset下,Unity能很好地识别它。
如果把组件编写在程序集中的话,展开程序集就能看到这些组件,甚至可以直接把它们拖动到GameObject中,开发效率很高。
3、在目标工程中添加引用,编写代码,测试。
由于可以方便地使用程序集,Unity给程序员项目开发提供了更大的灵活性,也更便于组织实施软件工程了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-04
《一》.创建dll文件
1,打开vs文件->新建-> 项目->C#->类库,输入项目的名称,创建一个dll项目;
2,引入 UnityEngine UnityEditor ;这两个文件放在unity安装目录的Unity\Editor\Data\Managed路径下,
具体添加步骤:右键点击解决方案->添加引用->浏览;
3,如果加入了UnityEngine UnityEditor,在项目中就可以using UnityEngine 和 UnityEditor;如果项目中不需要,也可以省略第二步;
4,编写脚本代码,下面是一个例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
using UnityEditor;
using System.Collections;
namespace dlltest
{
class Class2 : MonoBehaviour
{
void Start()
{
Debug.Log("this is unity call C# dll test!");
}

}
}

5,F5启动生成解决方案(debug或者release),把生成的dll放到unity工程的asset下;
6,如果继承了Monobehaviour的类在dll的子对象中有显示,这样就可以绑定到GameObject上了,
如果是要引用dll的类,需要using 命名空间,名字一般和项目名称一致;
第2个回答  2018-07-26
基于.Net3.5或者更低一点的.Net 2.0开发的dll,拷贝到asset目录下随便放着就自动引用了,winform那种无关的GUI组件当然不能用,功能性的dll都是可以的, mono本身也提供了很多类库,monodroid,monotouch也有一些平台相关的类库。发布时要使用完整的.Net2.0,webplayer好像不能引用dll。
第3个回答  2014-11-30
你好 使用了 System.Drawing.dll System.Windows.Forms.dll 两个DLL,发布使用完整的.NET2.0 Unity 运行没问题 ,但是一发布就出错了 ArgumentException: The Assembly System.Deployment is referenced by System.Windows.Forms. But the dll is not allowed to be included or could not be found.本回答被提问者和网友采纳
第4个回答  2019-01-30
你可以到paws3d看看C#相关的案例
相似回答