Visual Studio“重新构建全部失败”

29

为什么重新生成失败,但没有错误提示?

从今天早上开始,出现了这个错误。我构建整个解决方案(25个C#管理项目),然后出现“全部重新生成失败”,但没有任何错误提示!(我有13个与COM不支持泛型相关的警告,但这是“正常”的,因为其中一个dll被公开为COM。)

0个错误的截屏,但是\


11
“Output”选项卡显示什么内容? - Mr47
+1 给 Mr47。我讨厌错误列表…我记不住它多少次显示了一些不存在的东西,反之亦然。花费 2 秒钟更长时间来搜索输出,但我总是更喜欢它而不是错误列表。只希望能够突出显示警告和错误(VS08)。 - dowhilefor
4
重新启动Visual Studio并重新构建有所帮助,值得一试。 - Karsten
确保错误列表设置为显示构建错误。如果它被设置为仅显示Intellisense错误和警告,则无法看到构建错误的原因。 - Adrian McCarthy
25个回答

29

不是具体答案 - 可以查看输出窗口并查看其中显示的内容。

另外,为了帮助解决问题,您可能需要查看MSBuild详细信息 - 如下图所示(最后两个选项):

构建选项-Visual Studio

请注意 - 最高级别会生成大量信息。

最后 - 在命令提示符中从解决方案文件夹运行msbuild将真正解决问题 - 因为错误消息和警告分别显示为红色和黄色。


18

我找到了自己的解决方案,而且很简单:

当出现此错误时,请保存项目并关闭VS 2013。然后重新打开VS2013并打开上次打开的项目。

它像魔法一样有效。但每次都非常烦人!

许多人在VS2010、VS2012和VS2013中报告了这个问题。


1
由于某些原因,一个项目(.csproj)只包含空字符。我从备份中恢复了先前的版本,但是遇到了“重建失败”的问题。我关闭了一切,重新打开了一切...泰坦!“关闭和重新打开”似乎经常是VS的解决方案。 - Maxime
1
关闭所有 Visual Studio 实例是最好的做法(当我只关闭有问题的解决方案时,这种方法对我无效)。 - David S.
2
你刚才做的是所谓的“关闭开放原则”,开个玩笑 :P - Daniel B
1
或者我们可以说:“你试过关掉然后重新打开吗?”的原则... :) - Umut D.
显然,这也适用于VS 2019社区版。微软干得好...... - computercarguy

3

可能是Solution User Options文件损坏了。

关闭解决方案,删除它的.suo(对于VS2012+,则为.v12.suo),重新打开解决方案,Visual Studio将构建一个新的文件。你将失去启动项目、断点、书签、哪些文件已经打开,哪些项目/文件夹已经展开等信息。但与无法构建解决方案相比,这都是次要的问题!


2
检查“输出窗口”(视图->输出),它会告诉您出了什么问题。有时候可能会缺少引用,或者解决方案中的一个项目针对的.NET版本存在问题。"最初的回答"

2

我曾经遇到过同样的问题。我试图将一个更高版本的.NET框架(4.5.2)引用到一个较低版本的.NET框架(4.5),这导致了构建错误。我将两个项目的版本号设置成相同的,然后问题得以解决。


1

你尝试过在重新构建之前清理解决方案吗?


10
重新构建(Rebuild)与清理 + 构建(Clean + Build)是相同的操作:https://dev59.com/m3M_5IYBdhLWcg3wvV5w - Bridge
@Bridge:不,这些与您链接的大多数答案中解释的不完全相同。Clean + Build会清理所有项目,然后构建所有项目。Rebuild会独立地清理和构建项目。即使您的所有依赖信息都是100%正确的,构建中的并行性也可能导致步骤以不可预测的顺序发生,这可能会影响构建的成功,如果不同的项目共享用于构建输出或中间文件的目录。 - Adrian McCarthy
通常相同的 - Bridge

1

以下是我建议你进行的检查和操作列表(每个步骤后都要尝试构建):

  • 检查错误列表是否已激活?(有时我会忘记激活,只能看到警告和消息)
  • 检查输出窗口以查找错误消息。
  • 清理解决方案。
  • 在清理后再次检查,确保从调试文件夹中删除了所有内容。
  • 以发布模式构建。
  • 逐个构建解决方案项目,直到确定问题所在的项目。
  • 移除 COM 并注释代码,以查看是否是问题的源头。
  • 重启 VS2010。
  • 重启 Windows。

是的 - 激活状态 我的“输出”中也没有错误 我尝试清理解决方案... 现在正在尝试删除所有的obj、debug和release文件夹(这将需要20分钟 :s) (这是一个发布版本) - AndreaCi

1
刚才我通过修复.NET Framework安装(在我的情况下是.NET Framework v4.0 Extended)来解决了这个问题。

1

我在VS 2015中遇到了同样的问题。我尝试了以下方法,但都没有成功:

  1. 关闭VS项目并重新打开
  2. 关闭所有打开的VS项目,只重新打开出现问题的项目
  3. 清理解决方案
  4. 重新生成解决方案
  5. 删除bin\debug和bin\release中的所有文件

最后,我尝试了Keith Robertson的答案,删除了.suo (\Visual Studio 2015\Projects\[ProjectName]\.vs\[ProjectName]\v14\.suo)。虽然这没有给我一个良好的构建结果,但它最终给我一个错误消息,指出我的应用程序有两个入口点。我去应用程序属性(Alt + Enter)并从下拉列表中选择一个启动对象。


1
尝试删除 obj 文件夹。 - AndreaCi

1
这个错误对我来说有点泛泛而谈。我也遇到过类似的情况,但我通过不同于这里提到的任何方法解决了它。

我有一个项目和几个依赖项。其中一个依赖项发生了变化。

在此输入图片描述

在调试模式下编译主项目时,我验证了一切都正常。 然而,切换到发布模式并重新编译时出现了问题。重建所有失败0个错误

enter image description here

通过分析调试输出,我遇到了一个错误:

enter image description here enter image description here

虽然构建依赖项已经正确配置。但在发布模式下编译主项目时,无法找到在次要项目中创建的新方法。 因此,我不得不逐个重新编译每个次要项目以在发布模式下运行。之后,我重新编译了主项目,一切正常。 希望能对某些人有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接