Excluding Code from Code Coverage Metrics

I was working on a small application today and it included a very thin wrapper around .NET Framework classes to make my code easier to test (i.e. providing interfaces and adapters for .NET Framework classes so I can mock them out). Because these wrappers are very hard to test (because of the APIs that they…


Applications As Composition Of Services

After watching a Tech.Ed session by Juval Lowy and working with a variety of workflow-based applications (MSBuild build processes, Workflow Foundation build processes, etc.) I’ve come to realize that there is significant value to be gained by thinking of all applications as a series of services that are orchestrated together. Whenever I discuss this concept…


Tips for Writing Console Applications

I write a lot of console applications for everything from testing a snippet of .NET code to simple utilities to automate a process or solve a problem. Here are a couple of tips for writing console applications. Use Exit Codes Traditionally console applications return an exit code of 0 for success and non-zero for failure….


Upgrade Paths for Custom MSBuild Tasks

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…


Building .NET 4.0 Applications Using Team Build 2008

Our division’s primary Team Foundation Server is running TFS 2008 and as such we’re using Team Build 2008. This week I wanted to set up a Team Build 2008 definition to build a .NET 4.0 Silverlight application and this post explains how to do that. Your build agent must be running Team Build 2008 Service…