2

在 Unity 4.1 项目中,我希望将所有 C# 脚本都放在 DLL 中。Unity 创建了一个 Visual Studio 项目,我能够正确编译代码。编译生成 DLL,但 Unity 不能识别所有类,只识别那些继承 MonoBehaviour 的类。所有课程都是公开的,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
4

2 回答 2

3

确保您是针对 .NET 框架 3.5 或更低版本编译 DLL。

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

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

解决了

我正在使用 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

于 2013-10-16T18:43:54.460 回答