A Django site.
July 17, 2008
» July 2008 release of the power tools for TFS 2008 is now available

The download is available at http://www.microsoft.com/downloads/details.aspx?FamilyID=00803636-1d16-4df1-8a3d-ef1ad4f4bbab&displaylang=en.

Brian recently wrote a post about the new features: http://blogs.msdn.com/bharry/archive/2008/07/08/july-08-tfs-power-tool-preview.aspx.

This release also includes some bug fixes to the build notification app.

Enjoy!

March 21, 2008
» How Do I: Use the Builds Check-in Policy?

A year ago I wrote a blog post about a new check-in policy that we added in build for TFS 2008 to prevent "piling on" when the build is broken in continuous integration environment.  That post has all of the details on how it works and even the code showing you how it was implemented.

Now Richard Hundhausen has a video on how to make effective use of this new check-in policy.

How Do I: Use the Builds Check-in Policy?

Use the Builds Check-in Policy in your Continuous Integration Environment to let you know when somebody has broken the build. Richard Hundhausen shows you how.
Presented by Richard Hundhausen http://www.accentient.com on March 4, 2008
Length: 12 minutes 19 seconds

Video Downloads:

ZIP | WMV | iPod | MP4 | 3GP | Zune | PSP

Audio Downloads:

AAC | WMA | MP2 | MP3 | MP4

Download the code: Visual Basic | Visual C#

March 20, 2008
» Visual Studio Team System Chat: April 9

Join members of the Visual Studio Team System product group to discuss features available in Team Foundation Server, Team Suite, Architecture Edition, Development Edition, Database Edition, and Test Edition. In addition, discuss what's new for these editions for Visual Studio 2008.

Add to Calendar

April 9, 2008
10:00 A.M. Pacific Time
Additional Time Zones

March 19, 2008
» Teamprise 3.0 Ships!

Martin Woodward write that Teamprise 3.0 has now been released!  If you want the equivalent of Team Explorer integrated into Eclipse on any platform or need a client from Linux or Mac, you'll definitely want to check out Teamprise.

Here's a quick bullet list of features that I lifted from his post.  I'm particularly happy to see the new integration with Team Foundation Build.  It opens up the TFS build feature to teams that need to build on other platforms, in addition to the integration with Eclipse.

  • Full Team Foundation Build integration (including ability to execute Ant based builds)
  • Check-in policy support
  • Recursive folder compare
  • Single sign-on (from Microsoft Windows machines)
  • "Destroy" command for version control
  • Show deleted items and undelete from Source Control Explorer UI
  • much much more (see release notes)

Martin says they have also improved the pricing structure for customers who only need a small number of licenses.

Check out the full post for all of the details, including screenshots: Teamprise 3.0 Ships!

Congratulations to Martin and everyone else at Teamprise!

March 18, 2008
» MSBuild project analysis tool: BuildCop

Jelle Druyts has created an interesting tool and made it available on CodePlex.

Just Released: BuildCop v1.0!

It is with great pleasure that I'm finally ready to release another open source tool on CodePlex: BuildCop.

BuildCop is a tool that analyzes MSBuild project files (interactively or during e.g. a daily build) according to a customizable set of rules and generates reports - e.g. is strong naming enabled, are certain project properties set correctly, is XML documentation being generated, are assembly references correct, are naming conventions respected, ...

This has grown out of a quick-and-dirty tool to check various build settings in a large customer project (to make sure that the developers were sticking to the guidelines), and has evolved into quite a clean, flexible and customizable tool that you can now start using as well.

All information, downloads and documentation is available on the BuildCop homepage on CodePlex, so rush out and let me know what you think!

Technorati Tags: ,

February 17, 2008
» Setting up Source Server for TFS Builds

Jelle Druyts has posted a document describing how to set up source server for Team Foundation Build.  If you don't know what it is, read the MSDN magazine article that is the first link in his post.

Check it out!

Setting up Source Server for TFS Builds

I've read about symbol servers and source servers before (in John Robbins' excellent Debugging Microsoft .NET 2.0 Applications book, for example, and also due to the recent news that Visual Studio 2008 will support source-code debugging of the .NET Framework Libraries), but never really got around to trying them out since they seemed pretty complex to set up. However, I've recently set up a source server on a Team Foundation build server (twice!), and my eyes have now gone wide open: anybody who references assemblies built by those TFS build servers can now seamlessly debug them.

When an assembly is "source server-enabled", the pdb file will contain the full path and the exact version of the file in source control that was used to build that assembly. If the debugger then enters a method, Visual Studio automatically downloads that correct file, places it in a local cache, and opens it for debugging. This is super sweet!

Now the hard work was already done and published by Roy Osherove, but there were some extra steps to take if you wanted to integrate this in a real Team Build (i.e. on the TFS build server instead of on a local machine) and it also lacked some additional information to get everything working. So I put together a full document that covers all aspects of setting up a source server, modifying the Team Build script, configuring the project files, and finally configuring the development machines.

The full document (PDF) can be downloaded here, and you can read the one-page summary that briefly covers the required steps below. I cannot recommend setting up a source server enough, it's free and takes less than an hour if you simply follow the procedure, and the advantages are - hopefully - obvious.

more...

February 13, 2008
» Team Foundation Build 2008 API documentation

The documentation for the team build 2008 object model is now available as a CHM file.  Later this year, I'm told that the MSDN web site will be updated.

http://download.microsoft.com/download/5/f/8/5f872c2e-4221-410b-b86e-4c3cd831b0c4/Team Foundation Build Managed Reference.chm

After you download it you will need to right click it, choose Properties, and then select “Unblock” before you can view it.

This documentation is newer than what Aaron posted back in August.

The following are posts with examples of using the 2008 object model.

February 6, 2008
» HTTP 502 error when the server tries to connect to the build agent to start a build

The following came up a couple of weeks ago, and I thought it would be worth posting for anyone else who hits the same or a similar problem.

When I try to do a build using TFS Build I get this error:  TF215085: An error occurred while connecting to Agent \Shopping Catalog\Nightly Build: The request failed with HTTP status 502: Bad Gateway

The solution was to set BypassProxyOnLocal in the registry for TFS on the server (application tier).  Note the version number, 9.0, is for TFS 2008.  This does not apply to TFS 2005, because the communication with the build agent is different in TFS 2008.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\TeamFoundation\RequestSettings]

"BypassProxyOnLocal"="true"

Then run iisreset to make sure that the AT picks up the setting change.

The following post talks about an unrelated topic, but it covers this setting too.  The context is normally the client rather than the server, but in this case the server is acting as a client and calling the build agent.
http://blogs.msdn.com/buckh/archive/2007/09/17/tfs-2008-controlling-the-number-of-threads-used-in-uploading-and-downloading-files.aspx

February 5, 2008
» MSBuild by Example

Sayed Ibrahim Hashimi's book, Deploying .NET Applications, contains a chapter on MSBuild.  While I knew about the chapter in the book, I didn't realize that the chapter on MSBuild was available online until Eugene Zakhareyev mentioned it.

If you are looking for a good way to get started with MSBuild, MSBuild: By Example is a good place to start.

MSBuild: By Example

Even if you have experience using an XML task-based build tool, such as Ant or NAnt, MSBuild is significantly different. In fact, MSBuild is different not only in execution but also in syntax. Therefore, to really get a feel for MSBuild, you must get your hands dirty using the tool. As you begin to explore what MSBuild has to offer to your projects, you will naturally seek more knowledge of MSBuild. This chapter will help you get your hands dirty by showing you several examples of how you can use MSBuild. Also, this chapter will present some important techniques for using MSBuild effectively. We will provide a variety of tips, covering topics such as integrating MSBuild into Visual Studio and formatting your output. These samples are set up to be mostly independent. This is because each sample expresses a set of specific ideas, so you will be able to examine and try each concept on its own. After this chapter, you should have a much greater feel for building your applications with MSBuild. Following this chapter, we will continue the coverage of MSBuild by showing how to use some of its more advanced features.

more...

You'll also want to read the article he wrote for MSDN Magazine, Compile Apps Your Way With Custom Tasks For The Microsoft Build Engine.

Finally, there are additional MSBuild resources, including an MSBuild wiki and additional tasks.

February 4, 2008
» Visual Studio 2008 Web Deployment Project (WDP) is now available

The new Web Deployment Project that was released as a power tool for VS 2005 did not work with VS 2008.  Now there is a release of WDP that works with VS 2008.  If you were using the old one, be sure to get this important update.

Announcing RTW version of Visual Studio 2008 Web Deployment Projects (WDP)

In December 2007, we had released Community Technology Preview (CTP) version of  VS 2008 Web Deployment Projects... Thanks a ton to all of you in the community for being so active in adopting and trying the CTP versions of WDP... Since the December CTP we have been monitoring the blogs, MS Connect feedback system as well WDP forums to collect your feedback and then have been working over last month or so to incorporate it within the product...

more...

February 1, 2008
» TFSBuild.com: Build "recipes"

Grant Holliday has set up a great site for Team Build users to be able to contribute and find "recipes" to use in their builds.  Check it out!

TFSBuild.com Build Recipes Launched

Filed under: TFSBuild.com, Team Foundation Server — Grant Holliday @ 6:32 pm

I’ve been thinking for a while that there’s not a lot of guidance out there on how to get Visual Studio Team Foundation Build (aka Team Build) doing more than just a compile.

My first crazy thought was that I should write a book - then I got scared when I mapped out the chapters and realised how much effort would be required and the time-to-market. I’ll leave that all to somebody else.

Instead, I registered the domain TFSBuild.com and setup the .NET ScrewTurn wiki. Here’s the introduction from the homepage:

As a Build Master you’ve been put in charge of coming up with a central build system for your team. It can be quite daunting at first and you wonder “Where do I start?”.

The purpose of TFSBuild.com is to create and share build recipes with other build masters so that we can all learn and benefit from each other’s experience.

Since the site is called TFSBuild.com, there is a particular focus on MSBuild and Team Foundation Build scripts. But if you have a NAnt script or similar that you think others might find useful post it up.

The site is published as a wiki and the idea is that anybody can register to add & update content.

more...

December 22, 2007
» Team Foundation Power Tools for Team Foundation Server 2008 available now!

Earlier today, we released the first version of the TFS Power Tools for TFS 2008!

I want to highlight the build notification application.  This tool alerts you when a build is started or completed.  If the build breaks, you'll know immediately.

I posted a preview of the build notification app back in September.  Based on feedback, we have fixed bugs (e.g., it now properly handles the user logging out or shutting down on Vista) and made improvements (e.g., you can now disable servers in the options dialog that you don't want).  See the preview post for more screenshots and details on how it works.

See Brian's post for the full details on all of the featues on this release, which include support for destroying work items and work item type definitions.

Enjoy!

December 13, 2007
» MSBuild Sidekick V2 beta

Eugene Zakhareyev has released a beta of the second version of MSBuild Sidekick.  This version adds some unique features, including visualizing the build targets.  If you've ever had to pick up someone else's msbuild project files, you'll really appreciate this feature.

Here's a screenshot of the target visualization from Visualization in MSBuild Sidekick v2.

You can find out more about MSBuild Sidekick v2 in MSBuild Sidekick v2 beta is available!

Be sure to check out the Team Foundation Sidekick as well.

Technorati tags: ,

December 4, 2007
» WiX to be included in the Visual Studio "Rosario" release

Rob Mensching has written a post about the WiX toolset being included with the Rosario release of Visual Studio Team System.  WiX is part of the toolset used to create the installation packages for Visual Studio, as well as being one of the first open source projects ever at Microsoft.  Whereas Visual Studio setup projects (.vdproj) can only be built using devenv and thus require Visual Studio to be installed on the build computer, the WiX toolset supports msbuild via custom tasks.

In the post, Rob goes over a series of questions and answers regarding WiX and Visual Studio to explain what's being included and when.  WiX is included in the November 2007 Rosario CTP.  By the way, that CTP doesn't include any new Team Build features, for those who were curious.  You'll have to wait for the next CTP to see what we're doing in Team Build.

Visual Studio ships the WiX toolset.

Well, four months ago the Visual Studio setup team approached me to ask if I could help them with that first part of the "Rosario" mission: "enhance collaboration between developers." They had already adopted the WiX toolset as the platform to build the Visual Studio installation package and were now seriously considering shipping the WiX toolset as part of the Visual Studio product. The VS team saw that the WiX toolset enabled developers to collaborate on installation package development and wondered what it would take get the WiX toolset in a state they could release and support for developers around the world.

more...

December 3, 2007
» Building Ant projects with Team Foundation Build

Martin Woodward has written a post on using Ant within Team Build 2008 and 2005.  He includes an initial release of the binaries and documentation.  This is great for the folks using Java with TFS!

Building Ant projects from Team Build

With the recent release of Microsoft Visual Studio 2008 Team Foundation Server we are seeing more and more people looking to use the build capabilities of TFS (often referred to as "Team Build") to manage their Java based builds as well as their .NET ones.  We have an MSBuild task available internally that we use to trigger Ant based builds and report the progress back into TFS, and I wanted to share this with a wider audience to get some feeedback.  This task is heavily influenced by Aaron Hallberg's Team Build DevEnv task which I encourage you to go look at if you are interested in getting other build systems integration with Team Build.

You can download an early version of the Ant task from here (TeampriseBuild_0_8_0.zip 1MB).  There are two versions of the task included in the zip file - one for TFS2005 and one for TFS2008.  Additionally there is a draft set of instructions included on how to get this working today.  We hope to make the process much easier with future releases of Teamprise.

more...

» Web Deployment Projects (WDP) for Visual Studio 2008 CTP

[UPDATE 2/3/08] The final version is now available. 

I know a lot of folks have used web deployment projects (WDP) with Team Build.  The WDP release for VS 2005 does not work with 2008.  The web developer team has just released a Community Technology Preview (CTP) of WDP for VS 2008.  Being a CTP, it's not fully tested.  However, they are looking for feedback before releasing the final version in January of 2008.

Web Deployment Projects (WDP) for Visual Studio 2008 - December 2007 CTP Released

    Based on the feedback from web development community we just released the Customer Technology Preview (CTP) of Web Deployment Projects for Visual Studio 2008... This release of Web Deployment Projects (WDP) has all the features that VS 2005 WDP release has and in addition has few other enhancements which I will call out later in this post...

    We will be releasing the final version of Web Deployment Projects for Visual Studio 2008 in January 2008 after incorporating all the feedback that we receive via this Dec 2007 CTP release… This CTP is a substantial milestone as it will unblock lot of Web Developers, who depended upon WDP to go ahead and use the latest and greatest features of Visual Studio 2008…

    Overview

    Visual Studio 2008 Web Deployment Projects is an add-in to Visual Studio 2008 which provides developers with advanced compilation and deployment options... A Web Deployment project is extensible, enabling web developers to create pre-build and post-build actions...

    Web Deployment Projects does not touch any shipping binaries within VS 2008… WDP neither changes the way Visual Studio 2008 Web Sites & Web Application Projects build nor does it changes the files in the source Web site project in any way... Instead, it takes an existing Web project as input and generate a precompiled Web as an output...

    more...

Related post for VS 2005 users: Team Build and Web Deployment Projects

December 1, 2007
» Video on the new features in Team Foundation Build 2008

There's a great new video on the MSDN web site by Richard Hundhausen that goes over the new features in Team Foundation Build 2008.  It's one of the featured videos this week.  The video covers the major new features and provides a great introduction to the product.

How Do I: Learn the New Features and Capabilities of Team Foundation Build 2008?

In this video, Richard Hundhausen explores the new features and capabilities of Team Foundation Build 2008, including defining and managing build definitions, agents, qualities, and retention policies.

Presented by Richard Hundhausen on November 20, 2007
Length: 14 minutes 33 seconds

 

Video Downloads:

ZIP | WMV | iPod | MP4 | 3GP | Zune | PSP

You can find more Visual Studio Team System videos at "How Do I?" Videos for Team Suite.

November 29, 2007
» Building VS 2008 projects with TFS 2005

The question has come up a couple of times as to how to get a TFS 2005 build agent (the build agent is the service running on the computer) to build a Visual Studio 2008 solution.  When you try to do it, you get the following error.

Solution file error MSB5014: File format version is not recognized.  MSBuild can only read solution files between versions 7.0 and 9.0, inclusive.

The TFS 2005 build agent finds msbuild.exe by asking the common language runtime (CLR) for its installing directory.  In VS 2008, the .NET framework version is 3.5, but the CLR remains at 2.0.  The result is that the code in TFS 2005 always finds msbuild.exe in the 2.0 .NET framework directory.  Since msbuild 2.0 does not recognize the version number in VS 2008 solution files, which was changed to 10.0, it produces the error message shown above.

The TFS 2008 build agent will not work with a TFS 2005 server (application tier) because the communication protocol and the information required to run the build changed quite a bit.  As a result, you can't use a TFS 2005 server together with a TFS 2008 build agent.  We've actually included a setting in the TFS 2008 build agent that allows you to specify the path to msbuild.exe to deal with this issue in the future.

I'll start by saying that I think the best "workaround" is to upgrade to TFS 2008.  There are lots of good reasons to do it, including lots of new features, performance improvements across the product, and a lot of bug fixes.  TFS 2008 is a significant improvement over TFS 2005 in all respects.  Having said that, I know not everyone is going to upgrade their servers immediately.

The best workaround that I've seen is to create a "shim" msbuild.exe in the .NET 2.0 directory that invokes the msbuild.exe in the .NET 3.5 directory.  Mitch Denny posted this approach and the code to go along with it.

Building .NET 3.5 Applications with Team Build 2005

What I needed to do was create a program called MSBuild.exe which I could drop in on top of the .NET 2.0 version of MSBuild that simply took the arguments passed to it and call the .NET 3.5 version of MSBuild. It ended up being about 25 lines of code in a single mainline.

more...

MSBuild 3.5 will also build Visual Studio 2005 solutions with the 2.0 toolset, so you should be able to build either VS 2005 or VS 2008 solutions with this workaround.

November 26, 2007
» Using CruiseControl.NET to trigger CI builds in TFS 2005

James Dawson previously posted a plugin for CruiseControl.NET that provided a continuous integration facility for TFS 2005, which I mentioned back in August.  He's now set up a CodePlex project for it: TFS TeamBuild Task for CruiseControl.NET.  You can get both the binaries and the source code from the CodePlex project.

Continuous integration is now built into Team Build 2008.  However, for those who have to continue using TFS 2005 for a while, projects like this provide a way to fill the gaps.

November 21, 2007
» Martin Woodward's presentation on what's new in TFS 2008

Martin Woodward has a posted a great set of slides from a presentation he did on what's new in TFS 2008.  After going through all of the features other than build, he spends more than half of the slides on the build features of TFS 2008 (aka Team Build).  I highly recommend taking a look at the slides, particularly if you haven't paid close attention to TFS 2008 up to this point.

Team Foundation Server 2008 - What's New Talk

Last night I had the pleasure of presenting to my local .NET User Group (NIMTUG) on what is new in Team Foundation Server 2008.  Interestingly, most of the audience where new to TFS completely so I also covered a bit of ground on what Team Foundation Server did and why - however most of the talk concentrated on the Team Build stuff new in TFS 2008 and I ran through the wallboard demo that I wrote for TechEd.

more...

One of the slides shows a condensed diagram of the new object model for build in TFS 2008.  I've copied it here (you may need to make your browser wider to see the whole thing).  It does a great job of highlighting the central parts.

image