【问题标题】:Unity - namespaces not detectingUnity - 名称空间未检测到
【发布时间】:2019-01-19 18:31:28
【问题描述】:

 尽管我的标题是,但我不确定问题出在哪里。

我一直在学习 Unity 教程,在安装最新版本的 Unity 后遇到了问题。

当我在我的教程项目(以及现在的 /other/ Unity 项目)中打开 Visual Studio 2017 时,我收到错误/警告消息:

[接收 x 1] 无法将该项目添加到解决方案中,因为解决方案中已存在具有相同项目文件名的项目。

[Receive x 3] * 注意下面的“.Editor” 无法将该项目添加到解决方案中,因为解决方案中已存在具有相同项目文件名的项目。

每次我打开 VS2017 或系统提示重新加载解决方案时都会发生这种情况(在这种情况下我会重新加载解决方案)。

因此,在我的 Swords & Shovels 项目 / 和其他旧项目 / 中,Unity 命名空间没有被检测到(在某种意义上它们不会自动完成),而是 MonoBehaviour 函数(?),如 Awake()、Start()、等似乎仍然有效。这些函数不会在 IDE 中自动完成,但它们会起作用(使用 Awake() 进行测试——如果需要,可以提供 Unity.Console 日志证明)。

但另一方面,检查员似乎不接受引用 (NullReferenceException)。我已经尝试从检查器“更新”引用对象,但它仍然不起作用。

BRAND NEW PROJECTS(只为这个“援助请求”而制作)的行为方式几乎相同,除了它们也收到第一个错误/警告消息 x1,但他们只收到第二个错误/警告消息 x2('.Editor ' 信息)。 (就每个项目包含的脚本数量而言,我自己的个人项目可能有 100+(90% 由于重复)脚本,而我在本课程项目中所处的点可能有 12~(在大多数?没算),并且全新的项目仅使用一个脚本进行测试。我提到这一点以防脚本计数与错误消息有关。)

此外,尽管项目已关闭并重新打开(并且我的计算机已关闭并重新打开),但全新的项目仍会继续检测命名空间:语法自动完成,MonoBehaviour 函数按预期工作,并且检测到来自检查器的引用.

【问题讨论】:

  • 当我将一个包导入我的项目并且一些脚本具有相同的命名空间或脚本标题时,这发生在我身上,您是否将一些新包导入您的项目?
  • 我已经导入了资产,但是这个问题仍然出现在没有导入的全新项目中。不过,我会尝试研究这个特殊的解决方案,感谢您的帮助。

标签: c# unity3d namespaces visual-studio-2017


【解决方案1】:

解决方案中已存在具有相同项目文件名的项目。

不确定,但也许去目录,找到项目文件并重命名它?

【讨论】:

  • 尝试重命名项目,错误/警告消息只是显示新的项目文件名。不过感谢您的帮助。
【解决方案2】:

经过一番研究,我在 github 上发现了一个用户遇到相同错误的帖子。 虽然我无法解释问题的根源,但解决方案是简单地更新 VS2017。根据帖子,问题可能与不支持“asmdef”有关。

为了清楚起见:我的命名空间/其他语法现在自动完成/被“检测到”,我在打开/重新加载 VS2017 时不再遇到错误/警告消息,据我所知,我的参考最有效部分(我认为这是我现在的错误,哈哈哈)。

感谢大家的时间和帮助。

https://github.com/Unity-Technologies/AssetBundles-Browser/issues/66

(对不起,如果链接违反任何规则,我可以根据需要编辑它。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-25
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多