【发布时间】:2012-12-07 00:10:34
【问题描述】:
关于这个我快要失去理智了...通过 MSBuild 运行的解决方案构建在默默地无法构建解决方案中的许多项目之一。
构建不会失败,它根本不会尝试构建它(通过日志文件 MSBuild 和 devenv 输出确定)。这是一个VS2010的解决方案文件。我们将问题项目称为 Project X。我所知道的:
- 我有一个包含约 30 个项目的解决方案。
- 所有这些项目都设置为在 Release|Win32 下构建。我已经检查了两次和三次(和四次)。
- 如果我在 VS 中构建解决方案,每个项目都会正确构建,包括 Project X。
- 如果使用与 MSBuild 用于启动 devenv 的完全相同的命令,则 Project X 会构建。
- 如果我启动 MSBuild,将其传递给我的项目文件,则项目 X 不会构建,不会被标记为已跳过,只是...根本不存在(在日志和输出目录中)。
我一次又一次地倾注了项目文件。它真正做的就是像这样启动 devenv:
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Devenv.com" "MySolution.sln" /build "Release|Win32"
再次,如果我在提示中使用该 完全相同的命令,项目 X 已构建。我在 MSBuild 中启用了诊断级别日志记录,但无济于事。在这一点上我很茫然,任何帮助将不胜感激。
【问题讨论】:
-
我不知道,但是 Project X 是它运行时要构建的最后一个项目吗? (我认为 MSBuild 的默认运行 ~2^5 可能存在一些限制)
-
@mcalex:不,但这是个好主意。经过一天的故障排除和发布此问题 5 分钟后,我实际上刚刚修复了它。
标签: visual-studio-2010 visual-c++ msbuild