Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 生成项目时出错:生成播放器时出错,因为脚本在编辑器中存在编译错误_C#_Unity3d_Tiled - Fatal编程技术网

C# 生成项目时出错:生成播放器时出错,因为脚本在编辑器中存在编译错误

C# 生成项目时出错:生成播放器时出错,因为脚本在编辑器中存在编译错误,c#,unity3d,tiled,C#,Unity3d,Tiled,我有Tiled2Unity插件。当我开始在Unity中构建游戏的一个版本时,无论是独立版本还是其他版本,我都会遇到以下错误,“构建播放器时出错,因为脚本在编辑器中有编译错误” 然后它指向这个类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using UnityEditor; namespace Tiled2Unity { public class Circl

我有Tiled2Unity插件。当我开始在Unity中构建游戏的一个版本时,无论是独立版本还是其他版本,我都会遇到以下错误,“构建播放器时出错,因为脚本在编辑器中有编译错误”

然后它指向这个类

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

using UnityEditor;

namespace Tiled2Unity
{
    public class CircleObject : TmxObject
    {
    }
}
有人能帮我找出问题出在哪里吗?

您不能使用UnityEdit构建任何包含
的脚本或类/API。这就是为什么您应该将任何包含这些内容的脚本放在名为Editor的文件夹中

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

你有三个选择:

  • 使用UnityEditor删除
    来自脚本

  • 将脚本放在名为编辑器的文件夹中

  • 使用Unity的预处理器指令确定何时不使用UnityEditor使用
    编译

    您可以通过替换以下内容来完成此操作:

     using UnityEditor;
    


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

    我也遇到了同样的问题,但很容易找到修复方法

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


    我不知道它们为什么会出现,也不知道它们似乎会导致什么类型的问题,但是我现在可以将我的项目构建到无问题的android上了。

    我如何判断我的代码中是否有其他部分包含该脚本?该特定脚本是通过Tiled2Unity导入Unity的。我不知道什么是
    Tiled2Unity
    脚本,但始终尝试编写自己的代码,而不是导入其他人编写的脚本。当您可以在编辑器中很好地运行它,但无法构建它时,您知道这是一个问题。因此,您必须查看其他脚本并删除它们。如果它建造得很好,那么它们都消失了!那么,你认为编辑器中可能隐藏着一个非法字符吗。您是否在外部编辑器或unity中编辑它们?
     #if UNITY_EDITOR 
     using UnityEditor;
     #endif