说说Unity中的托管插件 VR资源

分为两种:托管插件(Managed Plugins)和本地插件(Native Plugins)。本文先来说说Unity中的托管插件,本地插件的文章留到下一篇文章再说。

有时候我们会有这样的需求:给第三方公司提供Unity插件,而又不希望第三方看到具体代码,这时就可以将核心代码编译成dll文件供第三方调用。或者说,同一个公司多个项目都用到某个模块,则可以把该模块封装成dll,方便在不同项目之间共用和维护。
关于dll加密的问题,以后有机会了可以考虑写点东西分享出来。
一、创建DLL

打开VS,选择文件 -> 新建 -> 项目后打开新建项目对话框。接着操作如下:
说说Unity中的托管插件 VR资源
点击确定后,编写如下代码:
?
 
01
02
03
04
05
06
07
08
09
10
11
12
13
14
using System;
namespace MyLib
{
    public class MyClass
    {
        public static string GetBlogName()
        {
            return "Sheh伟伟的个人博客";
        }
        public static TimeSpan GetBlogTime(DateTime time)
        {
            return (time - DateTime.Parse("2016/11/14"));
        }
    }
}

然后生成dll文件,操作如下图:
说说Unity中的托管插件 VR资源
提示:也可以用MonoDeveloper创建并生成dll,至于操作步骤可以查看官网手册
二、导入DLL

将MyLib项目目录下的bin/Debug目录下的MyLib.dll文件拷贝到Unity项目的Plugins目录下。这时,Unity控制台报Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded的错误,报错详细信息如下:
说说Unity中的托管插件 VR资源