解决方案第一次构建时缺少自动生成的 .g.cs 文件,第二次构建成功

Solution fails to build w/ missing auto-generated .g.cs file for the first time, succeeds on second build

我正在构建一个带有 Visual Studio 2015(更新 3)的 WPF 应用程序,而且——至少到现在为止,我不确定这种情况持续了多长时间——每次我更改并编译,我将得到一个失败的构建,其中包含错误

6>CSC : error CS2001: Source file 'C:[...]\Obj\Debug\AnyCPU\GeneratedInternalTypeHelper.g.cs' could not be found.`

不过,如果我只是第二次构建,它就可以正常工作。

我觉得这像是对之后生成的另一个文件的依赖或类似的东西,但我一直没能找出它是什么,google 搜索没有找到任何东西要么,也没有在我的项目中搜索这个文件首先用于什么(名称表明它的用途,但我不知道它到底在哪里使用)。

也可能是(group-policy-mandated)Anti-Virus 在文件或其依赖项上持有排他锁的时间太长了,VS 偶然发现了这一点,我想我记得一个问题在我上一份工作中就像这样,但我不确定情况是否如此(而且我不能简单地禁用扫描仪进行检查,它已完全锁定并且我不想违反公司政策试图规避它).

有什么想法吗?这并不重要,因为它很容易变通,但它很烦人,我真的不想最后像这样签入项目。

我遇到了同样的问题,我找到了它发生的原因(就我而言)。

我们解决方案的每个项目都有相同的输出文件夹。 文件 GeneratedInternalTypeHelper.g.cs 是在每个项目的同一位置生成的。 构建 order/dependencies 已计算,Visual Studio 发现某些项目可以并行构建。

在“工具”>“选项”>“项目和解决方案”>“构建”中,运行 您可以找到“最大并行项目构建数”选项。

从 8(在我的例子中)更改为 1 后,不再同时生成更多文件:) 编译有点慢,但确实比多次编译更不烦人...... \o/

另一种解决方案是在解决方案中为您不想并行构建的项目添加项目依赖项。

有了这个,您可以为其他项目保留并行项目构建。