【问题标题】:Unity missing namespaceUnity 缺少命名空间
【发布时间】:2020-07-24 15:01:13
【问题描述】:

几个小时前,我试图编译我的游戏,但没有成功。在控制台中出现了这个错误:

我不知道这是什么意思,也不知道编译器出了什么问题。每次构建总是在 7 秒后失败。我已经尝试编译了 2 次,但没有成功。只有这个项目给我带来了一些麻烦,我不知道我是否应该改变它的编译方式,或者我的代码是否有一部分是错误的。非常感谢您的帮助!

【问题讨论】:

  • 请在控制台上方进一步发布错误...您在此处发布的只是最后一个说明那个有错误但没有为什么/准确的位置。如果没有您提供 实际 错误给出正确答案是不可能的
  • 将播放器设置构建系统从 Gradle 更改为内部或从项目的“资产”文件夹中删除“插件”文件夹或在播放器设置和发布设置下选中“使用旧版 SDK 工具”跨度>
  • 这是我尝试在本地构建时看到的所有内容(Windows x86):imgur.com/a/mz8j8Vcimgur.com/a/x9HZmjT

标签: unity3d compiler-errors


【解决方案1】:

现在您添加了实际错误:

你得到的是缺少 UnityEditorInternal 的命名空间

找不到类型或命名空间名称“UnityEditorInternal”(您是否缺少 using 指令或程序集引用?)

这发生在你的脚本CameraFollow.csPlayerSword.csHealthRenderer.csLevelData.csMovingZomby.csPlayer.cs,...如果没有看到这些,就不可能给出具体的详细答案。

但我能说的是:整个 UnityEditorUnityEditorInternal 命名空间在构建中被完全剥离,因为它们只存在于 UnityEditor 本身中!

您不能在构建/您的最终应用程序中使用它的任何内容!

如果您的运行时代码依赖于它……恐怕您必须寻找其他解决方案;)

然而,这些通常只用于Custom Editor 脚本。

确保相应的代码块仅位于名为 Editor 的文件夹中的文件中(这些文件在构建过程中也会被删除)或使用 Platform dependent compilation 并将 using 语句以及使用命名空间的任何内容包装在#if pre-processors

#if UNITY_EDITOR
using UnityEditorInternal;
#endif

...

#if UNITY_EDITOR
// anything using that namspace
#endif

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    • 2016-09-24
    相关资源
    最近更新 更多