MSBuild静默地跳过一个项目(在我的sln中的多个项目中)



这一次我快要疯了。。。通过MSBuild运行的解决方案生成无法生成解决方案中的多个项目之一。

构建不会失败,它根本不会尝试构建它(通过日志文件MSBuild和devenv输出确定)。这是一个VS2010解决方案文件。让我们把问题项目称为X项目。我所知道的:

  • 我有一个包含大约30个项目的解决方案
  • 所有这些项目都设置为在Release | Win32下生成。我已经检查了两次、三次(和四次)了
  • 如果我在VS中构建解决方案,则每个项目都会正确构建,包括项目X
  • 如果使用与MSBuild用于启动devenv的命令完全相同的,则Project X将生成
  • 如果我启动MSBuild并将我的项目文件传递给它,则project X不会生成,也不会被记为跳过,只是。。。根本不存在(在日志和输出目录中)

我一次又一次地翻阅项目文件。它真正做的只是像这样启动开发:

"C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE\Devenv.com"MySolution.sln"/build"Release | Win32">

同样,如果我在提示中使用完全相同的命令,则生成Project X。我在MSBuild中启用了诊断级别日志记录,但没有任何作用。我在这一点上不知所措,任何帮助都将不胜感激。

这可能是一个偶然的机会,但我以前遇到过这个问题,我发现卸载有问题的项目并将其重新加载到解决方案中是可行的。我从来没有确定为什么会发生这种情况,也没有其他人向我解释过,但这样做已经在不同的解决方案中为我解决了两三次这个问题。

我已经从Project中删除了ProjectSection(ProjectDependencies) = postProject,这导致了sln文件中的问题。这起到了帮助作用。

最新更新