【问题标题】:Using MSBuild for managing large projects使用 MSBuild 管理大型项目
【发布时间】:2011-12-28 10:46:26
【问题描述】:

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

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

我的问题是

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

【问题讨论】:

  • 项目文件一个 MSBuild 脚本文件。 IDE 是创建它们的工具。

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


【解决方案1】:

下面的文章说明了使用 MSBuild 遍历项目的替代方法。您可能想阅读一下:

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

【讨论】:

    【解决方案2】:

    您可以按原样提供项目文件进行编译,但您必须注意正确的构建顺序,并且对于大量项目来说并不简单,并且您不能并行构建。

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

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

    如果您想并行构建,请将 /m:2 /p:BuildInParallel=True 参数添加到命令行中。 More info

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

    【讨论】:

    • 如何指定要构建的项目配置?喜欢“调试”“发布”?
    • 是的,通过添加配置和平台属性。我更新了我的答案。
    猜你喜欢
    • 2011-06-16
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-12
    • 2012-02-13
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多