BizTalk 2009 and TFS 2010

  A very welcome news, today. The BizTalk team released to public an hotfix to let BizTalk projects (.btproj) to compile successfully under TeamBuild 2010 ( I discovered the issues myself and worked with the team to find some workaround. I am already using this fix in our project and I have been able to…


SettingsMerger on CodePlex

Yesterday, I published Sprinkler on CodePlex and today I completed my efforts with another tool: SettingsMerger. This tool takes a number of Excel files, in the format required by XmlPreprocess / EnvironmentSettingsExporter, and outputs a single Excel file in the same format by removing duplicates, stopping in case of clashes, etc. The idea is to…


Sprinkler on CodePlex

Today I published on CodePlex my first project, Sprinkler. It is both a tool and a framework, based on Powershell v2, aimed at simplifying deployment of applications, especially BizTalk-based. It stands on the shoulders of giants as it extends the Deployment Framework for BizTalk: this latter is focused on deploying a single BizTalk application, while…


Documentation on customizing TeamBuild 2010

It’s been a while, that I don’t write anything here. More will come in the next weeks about deployment. Today is just a piece of news: a new MSDN page on Customizing Team Foundation Build. Take also a look at Andy Lewis’ blog on this topic. Precious stuff.


New look but don’t give me credit

See Sean Jenkin’s blog for the who, when, why, how, … For sure they did a great job: just think the amount of work they have done. Thousand of geeky blogs to migrate, each with its own tweaks and customizations (aren’t they geek?). Once I helped migrate a customer’s SharePoint intranet, so I can understand…


Quick XPath test

Some time ago a colleague asked for help: he needed to write a XPath query that seemed complex. I suggested him to use VS and a simple XSLT as a quick debugging environment. Create a new XSLT file, substitute the template code with the following content. <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"> <xsl:output…


Build Identifier Tasks

This post is a follow-up to “Builds: how many?” and drills down how to compute the version number during the build. I assume knowledge of customizing the build identifier: you do not read the docs: “How to: Customize Build Numbers” for TFS 2008 and “Customize Build Numbers” for TFS 2010.   The approach I found…


Gotcha: MSBuild nested loops (double batching)

I admit I didn’t get it on my first, quick, reading of “Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build” that MSBuild batching is somewhat counter-intuitive. I needed to have a nested loop in my script, like this pseudo code: foreach (solution in solutionItemGroup) { foreach (configuration in solution.Configurations) { build solution’s…


Pre/post-build event

This is a tip for all developers, not for BuildMasters only. The issue is those pre and post-build events that developers use to add any conceivable code… especially code that assume a developer’s workstation folder structure. Such code may break in a TeamBuild for many reasons: different folder structure — all binaries are produced in…


Drop: latest and previous

One small issue with the default layout of the Drop folder in TeamBuild is the lack of a fixed position for the outputs: binaries are written in $(DropLocation)\$(BuildNumber) and the latter is different at each build. Many times is convenient having a fixed location for the outputs: you may publish that folder as a network…