当我尝试构建我的项目时,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未正确安装错误?