如何从命令行使用MSBuild构建所有内容?

Tim*_*Tim 5 c++ msbuild visual-studio-2008

这有效吗?

MSBuild /t=all /configuration=all
Run Code Online (Sandbox Code Playgroud)

我想在Visual Studio 2008中使用MSBuild从命令行在sln文件等中构建所有项目的所有配置.

当我调用MSBuild时,我不想指定它们,sln/proj文件都有这些信息.如果我向项目文件添加配置,我不想更改构建脚本.

所以对于目标我可以使用BuildAll.如果我将配置留空,它会构建全部还是"BuildALL"对配置有效?

编辑

基本上我要求的是给出一个SLN或VCProj文件,我希望msbuild迭代所有配置并自己构建它,或者一些机制将发现它们所以我不必专门在命令行或在命令行中列出它们脚本.

即我在添加或删除配置时不想更新构建脚本.这似乎是一件非常合理的事情.

Joh*_*don 8

默认情况下,您无法使用MSBuild命令行选项构建所有配置.为此,您需要创建一个新目标(VS Project).

我这样做的方式是:

msbuild /t:BuildAll /Configuration:"Debug;Release;ContinuousIntegration"
Run Code Online (Sandbox Code Playgroud)

我制作了一个标准的Target,并称之为BuildAll,对于我想要自动化的每个项目,我只是创建了Target并使其依赖于您想要自动构建的所有目标.

  • 命令行开关“/Configuration”是否正确。当我指定开关时,`msbuild`总是抱怨“MSBUILD:错误MSB1001:未知开关。开关:/Configuration” (3认同)