【问题标题】:Upgrade to 2019.2.13 causes Namespace name `EventSystems' could not be found升级到 2019.2.13 导致找不到命名空间名称“EventSystems”
【发布时间】:2021-01-17 17:09:50
【问题描述】:

我已经从 2018.3.14f 升级到 2019.2.13 并且开始出现非常奇怪的错误。

我现在遇到了这两个错误:

类型或命名空间名称EventSystems' does not exist in the namespaceUnityEngine'。您是否缺少程序集参考?

类型或命名空间名称UI' does not exist in the namespaceUnityEngine'。您是否缺少程序集参考?

这只发生在我从 2018.3.14 升级到 2019.2.13 的项目上。

如果我使用 2019 创建一个新的空白项目,则没有问题。找到命名空间,当我转到 New2019Project/Library/ScriptAssemblies/ 时,我可以看到以下文件:

然后,如果我在此目录 OldUpgradedTo2019Project/Library/ScriptAssemblies/ 中转到升级后的旧项目,则该文件夹中只有这些文件:

如您所见,我的更新项目中没有这些文件。如果我尝试将新工作项目中的项目复制到旧升级项目中,则在我为升级的旧项目启动 Unity 时,它会删除它们并且问题仍然存在。

有什么办法可以解决这个烦人的问题吗?

【问题讨论】:

  • 在新项目中会这样做吗?
  • 您是否尝试过更新到不同的 2019 版本,或者专门更新到 2019.2.13?尝试以较小的步骤更新到新的大版本(2018 > 2019)可能是值得的。例如先更新到 2019.1,然后更新到 2019.2
  • @BugFinder 不是它在新项目中没有这样做。
  • 那么一定有办法解决它.. 至少是个好消息。那么,您是否尝试过删除库、obj 和任何构建文件夹
  • 我已尝试删除唯一的库文件夹,但没有成功。还要删除哪些其他人?

标签: c# unity3d


【解决方案1】:

为我解决此问题的方法是在 Unity 包管理器中更新到最新的“Visual Studio 代码编辑器”。为此,请转到窗口 -> 包管理器 -> 将“所有包”设置为“在项目中”,选择 Visual Studio 代码编辑器并更新。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,但我的问题是我在 Assets 的不同文件夹中有多个 Google.VersionHandler.dll 文件。因此,.asmdef 文件未加载。这是我修复它的方法:

    1. 关闭 Unity 和 Visual Studio
    2. 删除Google.VersionHandler.dll 的多余副本
    3. 删除所有.csproj.sln 文件
    4. 删除LibraryobjTemp目录
    5. 重新打开 Unity
    6. 点击Assets>Open C# Project重新生成.csproj.sln文件

    希望这对你有用!

    【讨论】:

      【解决方案3】:

      我将我的 Visual Studio 2017 更新到 Visual Studio 2019,然后一切正常。

      希望这对你有用。

      【讨论】:

        猜你喜欢
        • 2020-10-04
        • 2017-08-13
        • 1970-01-01
        • 1970-01-01
        • 2013-04-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-28
        • 1970-01-01
        相关资源
        最近更新 更多