• Unity3D教程:静态调用C#的dll


    就像使用.net自带的那些程序集一样。加入Reference,然后使用就可以。

    因为windows环境下的Unity编译脚本时,本质上还是生成.net程序集。并且其C#脚本编程事实上就是.net C#语言编程。用Visual Studio 编写脚本project是,我们能够直观地看到Unityproject所引用的程序集。

    既然能引用.net框架的程序集。自然也能引用自己编写的程序集。过程例如以下:

    1、编写要引用的程序集。

    我们差点儿能够编写不论什么用途的程序集。就像用C#开发.net类库一样。只是须要注意的是,假设要编写从Unity继承的类(比方从MonoBehaviour派生的组件等等),则不能使用namespace。眼下的Unity不支持。用了编译报错。

    尽管不能使用namespace。但我实际測试后发现若新项目中创建了与引用的程序集同名的类,Unity编译并不会报错,并且实际运行也非常正常。

    因为没有介绍Unity内部怎样编译的资料。我们还是尽量不要重名吧。

    2、将程序集DLL放置到目标Unityproject的Asset文件夹下(这点非常重要)。

    尽管能够用VisualStudio编写Unity代码,但实际上Unity生成游戏时还要自己再编译一遍。因此。在VS中的引用设置不能被Unity所使用。我以前尝试过把要引用的程序集放在GAC中也不行。正确的做法是把dll放在Asset下。Unity能非常好地识别它。

    假设我们把组件编写在程序集中的话,展开程序集就能看到这些组件,甚至能够直接把它们拖动到GameObject中,非常强大吧!

    3、在目标project中加入引用,编写代码。

    这个没什么好说的。

    4、測试通过,成功!

    因为能够方便地使用程序集。Unity给我们的项目开发提供了更大的灵活性。也更便于组织实施软件project了。

  • 相关阅读:
    《ASP.NET Core 6框架揭秘》读者支持
    [LeetCode] 1309. Decrypt String from Alphabet to Integer Mapping 解码字母到整数映射
    上周热点回顾(6.206.26)
    上周热点回顾(6.277.3)
    国运之争 功在当下
    springboot~starter包的制作
    springboot~MyBatisPlus中使用@TableField完成字段自动填充
    springboot~加快tomcat启动securerandom.source
    springboot~没有启动类项目的单元测试
    Linux恶意挖矿软件SkidMap分析——伪造CPU占用
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8397274.html
Copyright © 2020-2023  润新知