即将失去我的想法......通过 MSBuild 运行时构建的解决方案在默默地无法构建解决方案中的众多项目之一。
构建不会失败,它根本不会尝试构建它(通过日志文件 MSBuild 和 devenv 输出确定)。这是一个VS2010的解决方案文件。让我们将问题项目称为 Project X。我所知道的:
- 我有一个包含约 30 个项目的解决方案。
- 所有这些项目都设置为在 Release|Win32 下构建。我有双重和三重(和四重)检查这个。
- 如果我在 VS 中构建解决方案,每个项目都会正确构建,包括 Project X。
- 如果使用与 MSBuild 用于启动 devenv 相同的命令,Project X 将构建。
- 如果我启动 MSBuild 并将其传递给我的项目文件,则不会构建 Project X,也不会注意到已跳过,只是……根本不存在(在日志和输出目录中)。
我一次又一次地翻遍了项目文件。它真正做的就是像这样启动 devenv:
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Devenv.com" "MySolution.sln" /build "Release|Win32"
同样,如果我在提示项目 X 中使用完全相同的命令,则会构建项目 X。我在 MSBuild 中启用了诊断级别日志记录,但无济于事。我在这一点上不知所措,任何帮助将不胜感激。