生成dll文件并供给unity使用

先来一个脚本,本文就是将这个类打包成dll然后给unity使用:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//引入unityEngine的dll文件到vs2012(添加引用)
using UnityEngine;

namespace likang2
{
    public class likangClass
    {
        public int level = 100;
        public void method()
        {
            Debug.Log("自己写的类库中的方法");
        }
    }
}

生成dll操作:

这里写图片描述

然后到你的vs工程目录(bin/debug)下找到该dll文件:

这里写图片描述

再将这个dll导入unity,然后很痛快的发现用不了,dll报错如下:

这里写图片描述

上图的意思就是导入的dll文件的.net 4.x ,而unity仅支持.net3.5或者更低的版本。有两种解决方式;其一,在vs中创建类库的时候将.net目标平台改一下。如图:

这里写图片描述

其二:将unity的play setting中的scripting runtime version改成.net4.6(默认是.net3.5),如图:

这里写图片描述

我改完之后确实发现可以使用导入的类库,但是unity自带的vs2017语法高亮没有了,不知道什么原因,无奈只好改回去了,有知道的大兄弟提醒一下;

然后就是愉快的使用dll了:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using likang2; //引入导入的dll

public class TestTwo : MonoBehaviour {

    // Use this for initialization
    void Start ()
    {
        likangClass lk = new likangClass();
        lk.method(); //成功输出 "自己写的类库中的方法"
    }
}
原文链接:加载失败,请重新获取