当我尝试构建我的项目时,Unity 给出了奇怪的错误

Posted

技术标签:

【中文标题】当我尝试构建我的项目时,Unity 给出了奇怪的错误【英文标题】:Unity gives strange errors when i try to build my project 【发布时间】:2021-09-15 18:03:54 【问题描述】:

当我尝试构建我的项目时,出于某种原因,Unity 给了我这些奇怪的错误。我不知道为什么它会给我这些错误,而应该早点给出。我尝试重新启动统一,删除“插件”文件夹,删除 .sln 文件并将构建文件夹放在不同的文件夹中。我该如何解决这些奇怪的错误??

这里的代码统一不断给我错误,如果这有帮助的话: https://paste.myst.rs/lwj5nsm1

这是 unity 给我的错误:

Assets\LevelGenerator\Scripts\Editor\LevelEditor.cs(9,30): 错误 CS0115: 'GeneratorEditor.OnInspectorGUI()': 找不到合适的覆盖方法

Assets\LevelGenerator\Scripts\Editor\LevelEditor.cs(7,48):错误 CS0234:命名空间“UnityEditor”中不存在类型或命名空间名称“Editor”(您是否缺少程序集引用?)

Assets\LevelGenerator\Scripts\Editor\LevelEditor.cs(6,6):错误 CS0246:找不到类型或命名空间名称“CustomEditorAttribute”(您是否缺少 using 指令或程序集引用?)

Assets\LevelGenerator\Scripts\Editor\LevelEditor.cs(6,6):错误 CS0246:找不到类型或命名空间名称“CustomEditor”(您是否缺少 using 指令或程序集引用?)

UnityEditor.BuildPlayerWindow+BuildMethodException:5 个错误 在 UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer(UnityEditor.BuildPlayerOptions 选项)[0x002ca] 中:0 在 UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in :0 UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

【问题讨论】:

嗯,一般来说,名为Editor 的文件夹中的任何内容以及整个命名空间UnityEditor 在构建过程中都会被完全删除......所以是的,你实际上不应该得到这些错误。你在使用装配定义吗?如果是这样,请确保仅将编辑器启用为编辑器脚本程序集的有效目标平台 不是这些类型的错误,因为某些运行时代码依赖于在构建中剥离的编辑器代码。但是在 Unity 中运行时没有错误,因为满足了该依赖关系。 【参考方案1】:

您的代码用于编辑器,因此不应包含在构建结果中。为了解决这个问题,我创建了一个“DONOTCOMPILETHIS”构建指令,并将其添加到播放器设置中。 PlayerSetting DLG

最后在您的代码中添加:

using UnityEngine;

#if !DONOTCOMPILETHIS

using UnityEditor;

using UnityEditor.IMGUI.Controls;


[CustomEditor(typeof(CGameTower)), CanEditMultipleObjects]

public class CBoundRectEditor : Editor



    private BoxBoundsHandle m_BoundsHandle = new BoxBoundsHandle();


    ...



#endif

【讨论】:

以上是关于当我尝试构建我的项目时,Unity 给出了奇怪的错误的主要内容,如果未能解决你的问题,请参考以下文章

剃刀视图没有给出编译时错误[重复]

当我正在尝试为我正在通过Unity开发的游戏构建apk文件时,Android SDK未正确安装错误?

C++ TensorRT 批量推理给出了奇怪的结果

UIPageControl的无限UICollectionview

R 中的错​​误:当我尝试应用外部函数时:

Unity - 奇怪的错误,构建与构建和运行