使用MSBuild管理大型项目

时间:2011-11-14 07:39:55

标签: visual-studio visual-studio-2008 msbuild build-automation

我需要编译大量项目(其中一些项目依赖于其他项目)。当然我可以将它们放在Visual Studio下的单个解决方案文件中并管理编译。但是现有的解决方案没有以这种方式配置。此外,我觉得构建脚本可以更有效地管理它们。

但我找不到任何适当的工具来转换包含MSBuild脚本文件中所有必需设置的Visual Studio项目文件。手动添加每个文件是一项繁琐的工作。

我的问题是

  • 是否存在用于创建和管理MSBuild文本文件的工具?
  • 我可以将项目文件原样提供给MSBuild脚本进行编译吗?
  • 如果我必须手动指定源文件,如何在以后添加新文件时同步项目文件和MSBuild脚本文件?
  • 是否可以利用MSBuild的多核CPU并行编译独立项目?

2 个答案:

答案 0 :(得分:1)

您可以按照编译的方式提供项目文件,但是您必须处理正确的构建顺序,这对于大量项目并不简单,并且您无法并行构建。

最适合您的解决方案是使用当前的解决方案来构建使用MSBuild

msbuild YourSolutionFile.sln /p:Configuration="Debug";Platform="Any CPU"

如果要并行构建add / m:2 / p:BuildInParallel = True参数进入命令行。 More info

msbuild YourSolutionFile.sln /m:2 /p:Configuration="Debug";Platform="Any CPU";BuildInParallel=True;

答案 1 :(得分:1)

以下文章介绍了使用MSBuild遍历项目的替代方法。您可能想要读一读:

http://msdn.microsoft.com/en-us/magazine/dd483291.aspx