这一次我快要疯了。。。通过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文件中的问题。这起到了帮助作用。