Keeping Version Control Labels When Team Builds Are Deleted in TFS 2008 SP1

We have had quite a few complaints about the fact that we delete the labels created during a build when the build is deleted. The reason this behavior was added was to keep from creating a ton of labels for CI builds. But some customers still want the labels to exist after the build has…

2

WPF – A Stretching TreeView

What is a stretching treeView? Recently, I found the need to have a TreeView in my WPF application that was only a few levels deep. I didn’t want a horizontal scrollbar to appear and I wanted the long text nodes to wrap. So, I invented the StretchingTreeView control. Why couldn’t I do this with a…

2

Filtering the Build Status Change Event (BuildStatusChangeEvent)

In an previous post (long long ago), I described some scenarios around why you would want to subscribe to change the work item tracking subscription to the build completion event. The purpose there was to help users “correct” the subscription that came out of the box. In this post, I would like to answer a…

1

Where’s the TfsBuild.proj file for this Definition?

In Team Build 2005, the "definition" of the build was the same as the TfsBuild.proj file. However, in 2008, we changed this so that the TfsBuild.proj only held some of the information for the build. The rest of the information (like retention policies, workspace definition, and triggers) were all stored in the build database. 2008…

2

WF – Creating an Activity Base Class

(or Designing Your Workflow Activity Class Hierarchy) One of the questions that we’ve had to consider when designing our Workflow Activity Class Hierarchy is whether it is valuable to have our own Activity base class (derived from Activity and inherited by all of our activity classes). Our answer was "Yes". We decided that there were…

1

WF – The Asynchronous Activity/Service Pattern

In my previous blog post (Creating an Asynchronous Workflow Activity), I explained why your custom activities should either be really fast or run asynchronously. But, I didn’t give you a real world example of how to do this. In this post I provide an example of the pattern that my team uses when creating a…

4

WF – Creating an Asynchronous Workflow Activity

What a silly topic for a blog post! Workflow already runs my whole activity tree on a another thread, I don’t have to worry about being Async, Do I? Yes, you do. While it is true that each Workflow gets its own thread (in the default setup), that thread can be easily blocked by a…

1