一、创建DLL
打开VS,文件 > 新建 > 项目
点击确定,编辑代码
using System;
namespace MyDll
{
public class Tip
{
public static string GetText()
{
return "hello world";
}
}
}
生成dll,如图
生成的dll文件的路径在你的工程文件下的\bin\Debug\xxx.dll
例如我的是在
C:\Users\admin\Documents\visual studio 2015\Projects\MyDll\MyDll\bin\Debug\MyDll.dll
PS:也可以用MonoDeveloper创建并生成dll,至于操作步骤可以查看官网手册。
二、导入DLL
在这一步操作之前需要注意在第一步创建项目时默认选择的是.Net Framework4.5.2,我用的Unity版本是5.4.3,支持的.NET Framework的版本为3.5,需要修改一下,在VS里项目>MyDll属性 如图
这样dll的生成才算是完成了,如果不进行这步直接放到Unity里当然会报错,如图
接着重新生成一下dll文件,重新导入到Unity的Pugins文件夹下就行了。
三、调用DLL
在Unity新建一个TestDll的脚本,并挂到主摄像机上,脚本代码如下:
using UnityEngine;
using MyDll;//引入dll
public class TestDll : MonoBehaviour
{
void Start()
{
Debug.Log(Tip.GetText());
}
}
注意,调用Dll中的方法一定要使用using语句引入导入到unity中的dll类库。using MyDll;
C#引用Unity原生类库
Unity类库在Mac上的路径为
Applications/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll
在Windows上的路径为
Program Files\Unity\Editor\Data\Managed\UnityEngine.dll
。
项目>添加引用>浏览>根据路径找到UnityEngine.dll,还有很多其他的dll
删除多余的引用.
引入dll后,代码就可以用了,使用dll用
using UnityEngine;
这样就可以用这个dll库下的内容了例如
using System;
using UnityEngine;//引入dll
namespace MyDll
{
public class Tip
{
public static string GetText()
{
return "hello world";
}
public static void UnityDllTest()
{
Debug.Log(123);
GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);
}
}
}
Debug,GameObject等都可以使用了