Visual Studio使用C#/C++生成dll文件应用到Unity中

Visual Studio使用C#/C++生成dll文件应用到Unity中

    • 预备工作(新建dll项目,以C#项目为例)
      • 创建项目
      • Visual Studio安装程序,安装开发工具集。
      • 导入Visual Studio安装程序
    • 完成项目
      • 添加脚本
      • 添加引用(依赖项)
      • Unity的各个Dll库的路径位置
      • 注意事项
    • 生成Dll

预备工作(新建dll项目,以C#项目为例)

创建项目

  1. 打开Visual Studio,新建项目:文件>新建>项目
    Visual Studio使用C#/C++生成dll文件应用到Unity中_第1张图片
  2. 点击Visual C#
  3. 点击类库(.NET Framework):用于创建C#类库(.dll)的项目。
  4. 项目命名,设置项目位置路径。
  5. 选择和目标Unity相同框架:File>Build Settings>Player Settings>Other Settings下查看。
    框架
  6. 点击“确定”,项目创建成功。

Visual Studio安装程序,安装开发工具集。

在上面的操作步骤中的第二步,如果项目中没有安装相应的开发工具包(Visual C#Visual C++),打开Visual Studio安装程序。
Visual Studio使用C#/C++生成dll文件应用到Unity中_第2张图片
如上图所示选择,然后选择右下角的“修改”按钮,安装开发工具集。

导入Visual Studio安装程序

如果你是使用的Unity安装时,自动安装的Visual Studio程序,可能连Visual Studio安装程序都找不到。这时需要导入Visual Studio安装程序:

  1. 工具>扩展和更新
    Visual Studio使用C#/C++生成dll文件应用到Unity中_第3张图片
  2. 在弹出的对话框中,选择“联机”,搜索“Microsoft Visual Studio Installer Projects”。
    Visual Studio使用C#/C++生成dll文件应用到Unity中_第4张图片
  3. 下载“Microsoft Visual Studio Installer Projects”。在没有安装之前会像下图中的第二个选项一样,有一个“下载”按钮,我这里因为已经安装过,所以只有一个绿色小对勾。
    Visual Studio使用C#/C++生成dll文件应用到Unity中_第5张图片

上面提到的步骤应该都可以一步步执行了。

完成项目

下面的两部分是没有先后顺序的,不过由于项目是Unity项目,我更喜欢先在Unity项目中将脚本完成,并运行无错之后;导入添加到Dll项目中;再根据Visual Studio程序返回出的各种错误,将相应缺少的Dll引用再添加进来。

添加脚本

这个就比较简单多样了,这里列举两种方法:

  • 可以:项目>添加现有项(快捷键Shift+Alt+A)打开文件浏览窗口,进入程序集文件夹添加脚本。
  • 也可以:将脚本直接拖拽到“解决方案资源管理器”中。

添加引用(依赖项)

方法和添加脚本差不多:

  • 可以:项目>添加引用
  • 也可以:解决方案资源管理器>右键引用>添加引用

之后打开了“引用管理器”:

  • 可以在框架中寻找已有引用(依赖项),加入到项目中;
  • 如果框架中没有便需要,点击“浏览”按钮,在打开的文件浏览窗口,寻找自己或下载的引用(依赖项)。
    Visual Studio使用C#/C++生成dll文件应用到Unity中_第6张图片

在选择好后,点击“确定”按钮,完成引用(依赖项)的添加。
Visual Studio使用C#/C++生成dll文件应用到Unity中_第7张图片

Unity的各个Dll库的路径位置

  • 主要在Unity的安装路径下“Unity\Editor\Data\Managed\UnityEngine”文件夹中,如果你只引用一个“Unity\Editor\Data\ManagedUnityEngine.dll“,其库中的功能不够全面,你可以在上面的文件夹中的众多dll文件中去测试、寻找你想要的功能;
  • 另外UGUI的UnityEngine.UI.dll库在项目文件夹目录的“Library\ScriptAssemblies”中。

注意事项

  • 如果你的项目需要打包发布到其他的平台,那你自己的Dll库,就不要引用UnityEditor库相关的任何引用(依赖项),例如UnityEditor.UI.dll或UnityEditor.dll等,因为这会在你打包发布时报错。
  • 命名空间的问题,如果之前类使用了internal,那么打包成dll后,其他类就无法访问了。

生成Dll

Visual Studio使用C#/C++生成dll文件应用到Unity中_第8张图片
从效果上讲,图中的选项都是可用的,最后生成的Dll文件会在项目文件夹下有两种路径,从中寻找就好:

  • obj\Debug;
  • bin\Debug。

在路径中找到那个与项目名一样的.dll文件,就是我们生成的自己的库,将其放到Unity的Plugins文件夹下,等待Unity读取完成,删除可能重复的脚本即可。

你可能感兴趣的:(visual,studio,dll,visual,studio)