c# - 解决方案第一次构建 w/missing auto-generated .g.cs 文件失败,第二次构建成功

标签 c# wpf auto-generate build-error

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

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

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

这对我来说就像是依赖于之后生成的另一个文件或类似的东西,但我一直无法找出它是什么,谷歌搜索也没有找到任何东西,也没有首先在我的项目中搜索这个文件的用途(从名字就可以看出它的用途,但我不知道它到底用在哪里)。

也可能是(组策略授权的)反病毒软件在文件或其依赖项上持有独占锁的时间太长了,而 VS 偶然发现了这一点,我想我记得这样的问题在我上一份工作中,但我不确定情况是否如此(而且我不能简单地禁用扫描仪进行检查,它已完全锁定并且我不想违反公司政策试图规避它)。

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

最佳答案

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

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

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

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

关于c# - 解决方案第一次构建 w/missing auto-generated .g.cs 文件失败,第二次构建成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40970253/

相关文章:

c# - ViewModel 中的 WPF 命令和异常

c++ - 自动生成的文件和 VC++ 2008 项目

java - 如何从包含 MSFT 序列化 : GUID datatypes? 的 XSD 生成 Java 代码

c# - C#读写txt文件发布问题

C# Excel 互操作计数和替换

c# - LINQ 执行查询 - 错误

date - Access 2010+自动生成ID的日期+4位序号

c# - 穷举搜索/生成表达式树的每个组合

c# - WPF 中游戏的恒定帧率

WPF:如何在弹出窗口中淡入和缩放用户控件