DLL中的Unity c#脚本

本文关键字:脚本 Unity 中的 DLL | 更新日期: 2023-09-27 18:26:37

在Unity 4.1项目中,我希望所有的C#脚本都在DLL中。Unity创建了一个Visual Studio项目,我能够正确编译代码。编译产生DLL,但Unity不识别所有类,只识别那些继承MonoPhavior的类。所有课程都是公开的,Unity是Pro。如何让Unity"看到"所有类?

我试着用Mono 2.8编译,它构建了DLL。所有的类似乎都在那里,但什么都不起作用,我得到了这些错误:

    ApplicationException: Unable to find a suitable compiler
    UnityEditor.Scripting.ScriptCompilers.CreateCompilerInstance (MonoIsland island, Boolean buildingForEditor, BuildTarget targetPlatform) (at                                                         
    C:/BuildAgent/work/7535de4ca26c26ac/Editor/Mono/Scripting/ScriptCompilers.cs:99)

    Failed to create compiler instance

DLL中的Unity c#脚本

确保编译DLL时使用.NET framework 3.5或更低版本。

要更改现有项目中的目标.NET Framework版本:

  1. 打开要更改的项目
  2. 解决方案资源管理器工具栏中,选择属性按钮
  3. 您也可以在解决方案资源管理器中选择项目节点,打开上下文菜单(右键单击节点),然后选择属性
  4. 您应该在应用程序选项卡上看到设置。如果没有,请选择它
  5. 目标框架下拉列表中,选择所需的.NET Framework版本。然后单击确定按钮

已解决

我使用Visual Studio 2012编译DLL,包括运行时和编辑器。以.NET 3.5为目标。这篇文章帮了我很多忙:http://forum.unity3d.com/threads/148078-Reducing-script-compile-time-or-a-better-workflow-to-reduce-excessive-recompiling?p=1026639&viewfull=1#post1026639