.net MSBuild与工作流

.net MSBuild与工作流,.net,msbuild,workflow-foundation,tfsbuild,.net,Msbuild,Workflow Foundation,Tfsbuild,我们在公司成功地使用MSBuild已有几年了。对于每个构建规范(发行版、调试等),我们都有一个非常定制的.proj构建文件,其中包括以下许多操作: 混淆 包装 复制输出 压缩 等 自从微软在TFS2010中包含了一个新的特性来使用Windows工作流基础来构建,我们正在考虑改变它。正如Jim Lab(Team Foundation Server的程序管理器)所说的,这里是他关于何时应该使用它们的一般指南: 如果任务需要特定构建输入或输出的知识, 使用MSBuild 如果任务是在构建时需要执

我们在公司成功地使用MSBuild已有几年了。对于每个构建规范(发行版、调试等),我们都有一个非常定制的.proj构建文件,其中包括以下许多操作:

  • 混淆
  • 包装
  • 复制输出
  • 压缩
自从微软在TFS2010中包含了一个新的特性来使用Windows工作流基础来构建,我们正在考虑改变它。正如Jim Lab(Team Foundation Server的程序管理器)所说的,这里是他关于何时应该使用它们的一般指南:

  • 如果任务需要特定构建输入或输出的知识, 使用MSBuild
  • 如果任务是在构建时需要执行的 Visual Studio,使用MSBuild
  • 如果任务是你只需要在你的基础上完成的 构建服务器使用WF,除非它需要特定知识 构建输入/输出

我还不太确定,我想知道您自己的经验、优点、缺点等。如果您修改了DefaultTemplate.xaml以执行自己的操作,您的意见将更有价值。

我们已经完成了从MSBuild到工作流的过渡,从TFS2008迁移到TFS2010。一些经验:

  • 使用UpgradeTemplate.xaml时,MSBuild规范在工作流中工作正常。这允许将TFS2008轻松迁移到TFS2010
  • MSBuild使开发团队能够更好地控制其构建的运行方式。成员可以轻松地自己修改规范并签入更改。工作流更像是BuildMaster的事情
  • 可以快速进行MSBuild更改。工作流更改有点麻烦。有时,快速更改是好的,但也会使开发团队偏离受管理的工作路线
  • 工作流将流程模板与用于驱动特定生成的数据分离。这些模板更易于重用
  • 个人总体印象:将MSBuild用于较小的开发团队驱动的构建。对成熟的产品生产线使用工作流