为什么我的命名空间引用在 Visual Studio 中不断中断?

D3D*_*uck 5 c# .net-assembly unity-game-engine visual-studio visual-studio-2017

我在Unity 论坛上提出了这个问题,但不幸的是没有回复。由于这似乎是 Visual Studio 本身的错误/问题,我也在这里询问。

情况

我无法在 Visual Studio 中编译我的项目代码。它仍然可以在 Unity 编辑器中编译和运行,但 Visual Studio 会给出数百个缺失引用错误(“找不到类型或命名空间名称 'XXX'(是否缺少 using 指令或程序集引用?)”)。这包括我编写的但位于另一个程序集中的文件,即我自己创建的命名空间。

除了一件事之外,我尝试过的所有方法都不起作用(见下文)。如果我手动删除对 Visual Studio 中所有四个程序集的引用并重新添加它们,解决方案将进行编译。但是当我关闭 VS 并重新打开时,会出现相同的错误。通过更多测试,我发现有时(不知道是什么触发了它)引用甚至会在不关闭 Visual Studio 的情况下中断。

这些程序集是 Assembly-CSharp、Assembly-CSharp-Editor、Assembly-CSharp-Editor-firstpass 和 Assembly-CSharp-firstpass;使用 Unity 项目创建的普通项目。现在在程序集中未正确引用的脚本以前没有引起任何问题,而且我根本没有更改它们。我不知道我会做什么,现在却导致了这个问题。以前这些脚本没有出现任何错误;前一秒他们编译得很好,下一秒就出现了这些错误。


版本

Unity 2019.3.12f1 个人版。

Visual Studio 社区 2017 15.9.22。


我试过了:

编辑:

我已经在副本中删除了项目的大部分内容,看看什么时候能解决。它并不能一直解决删除最后一个脚本的问题。然后删除最后一个脚本并再次添加不同的脚本会导致错误。我不认为脚本本身有什么问题,但一定是 VS 设置或行为的问题。

D3D*_*uck 2

事实证明这是 Unity 中的一个错误。新的更新已修复该问题。8小时后我的生命...