To MSBuild or not to MSBuild

That is the question that I am frequently asked by folks looking at the impact of Team Foundation Build moving to Windows Workflow 4.0 from MSBuild as the master build orchestration language in the TFS 2010 release.

In general I would always think carefully about re-writing everything in WF 4.0 if you have a perfectly functional MSBuild based build process. Just because things have moved towards workflow based builds in 2010, there is still plenty of logic (such as the actual compile) that is conducted in MSBuild.

Fellow former MVP turned Microsoft employee, William Bartholomew has done an excellent job of writing up the pro's and con's of the available approaches when upgrading build logic to TFS 2010.

I'm regularly asked what's the best way to upgrade an MSBuild-based build process to a Workflow Foundation-based build process and one of the most important parts of this is how to leverage the investment and dependence you have on any custom MBBuild tasks you've written. This post outlines four different ways you can make your custom MSBuild tasks callable from a Workflow Foundation workflow.
  • Use MSBuild Activity to call MSBuild wrapper around MSBuild task
  • Wrap MSBuild task in a custom Workflow Activity
  • Rewrite MSBuild task as a Workflow Activity
  • Extract custom task logic into a POCO class and provide an MSBuild Task and Workflow Activity adapters

William Bartholomew - Upgrade Paths for Custom MSBuild Tasks

William's post is worth reading in full if you are interested in this topic. Also, if you are not subscribed to his new MSDN hosted blog then I highly recommend that you do.


Creative Commons License
This blog is licensed under a Creative Commons License.