由于Windows Workflow,MSBuild会不会死?

Afs*_*bbi 14 msbuild tfs workflow-foundation tfsbuild tfs2010

TFS 2010中的MSBuild已被Windows Workflow 4.0取代.这意味着当您创建构建定义时,您将无法编辑TFSBuild.proj,而必须编辑工作流以自定义构建.

顺便说一句,如果我说微软不支持TFS 2010中的MSBuild并且学习MSBuild作为TFS 2010 Team Build管理员不值得吗?

还有一个问题是:微软是否会将Visual Studio Projects的语言从MSBuild替换为类似Windows Workflow的语言?

Jim*_*amb 41

我是TFS构建自动化功能的程序经理,所以我想对这个问题发表评论.我们还没有用Windows Workflow(WF)取代MSBuild.我们仍然非常依赖MSBuild作为核心构建引擎,这是它的核心竞争力.您会发现使用MSBuild仍然可以最轻松有效地自动完成许多任务.

我们引入了WF作为在核心构建引擎(我们在框中包含的构建过程模板中的MSBuild)之上提供更高级别的业务流程层的方法.它可以执行诸如跨多台计算机分发流程以及将流程绑定到其他基于工作流程的流程之类的操作.

那么,什么时候应该使用MSBuild进行自动化,何时应该使用WF进行自动化?以下是我对该主题的一般指导:

  • 如果任务需要了解特定构建输入或输出,请使用MSBuild
  • 如果在Visual Studio中构建时需要执行任务,请使用MSBuild
  • 如果您只需要在构建服务器上构建任务时使用该任务,请使用WF,除非它需要了解特定的构建输入/输出

使用MSBuild时,请记住您可以直接自定义项目文件(通过卸载它们然后在Visual Studio中编辑它们),或者您可以创建自定义.targets文件并将它们导入到各个项目中.后一种方法对于多个项目通用的功能非常有用,可以避免维护多个副本.

使用WF时,请记住您可以为低级别任务编写代码活动,但您也可以使用直接XAML编写更高级别的任务.我们实际上正在研究TFS 2010附带的默认构建过程模板的一个版本,它通过使用一组组合的XAML活动为您提供了一个更简单,更细粒度的整个过程视图.