Building Project 时出错:Error building Player because scripts have compile errors in the editor

Error when Building Project: Error building Player because scripts have compile errors in the editor

我有 Tiled2Unity 插件。当我开始在 Unity 中构建我的游戏版本时,无论是独立版本还是其他任何版本,我都会收到以下错误,"Error building Player because scripts have compile errors in the editor"

然后它指向我这个class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using UnityEditor;

namespace Tiled2Unity
{
    public class CircleObject : TmxObject
    {
    }
}

谁能帮我找出问题所在?

不能构建任何包含 UnityEditor 命名空间中的 using UnityEditor; 或 class/API 的脚本。这就是为什么您应该将包含任何这些内容的任何脚本放在名为 Editor.

的文件夹中的原因

当 Unity 构建您的项目时,它会忽略放置在该文件夹中的任何脚本,因为它将它们视为编辑器脚本或插件。

你有三个选择:

  1. 从您的脚本中删除 using UnityEditor;

  2. 将您的脚本放在名为 Editor.

    的文件夹中
  3. 使用 Unity 的预处理器指令来确定何时不使用 using UnityEditor;

    进行编译

    您可以通过替换来做到这一点:

     using UnityEditor;
    

     #if UNITY_EDITOR 
     using UnityEditor;
     #endif 
    

我会选择 #2。为任何编辑器内容创建一个不同的脚本并将其放在 Editor 文件夹中。请注意,在构建项目时,Unity 不会 编译此文件夹中的任何脚本。此文件夹中的脚本仅供 运行 在编辑器中使用。

我遇到了同样的问题,但很容易找到解决方法。

进入该统一项目中的每个脚本并仔细检查第一行,即“使用 UnityEngine”和“Unity 系统集合”的行。我只是在这些行中添加了“使用 UnityEngine.UI”,但是当我检查该项目的所有脚本时,我发现那里有一些额外的脚本,这些脚本在我开始时并不存在,而且我没有添加(他们在那里添加了自己),例如有一个“使用系统集合 XMP”或类似的随机内容。只需删除这些,保存脚本即可。

我不知道它们为什么在那里以及它们似乎会导致什么类型的问题,但是我现在可以构建我的项目 android 现在没有问题了。