21 December 2007

TFS 2008 Power Tools Released

The Team Foundation Server 2008 Power Tools has been released and is available for download here.  There are several tools/features included in this release - some new, some old:

  • Team Foundation Power Tool command-line tool (TFPT.EXE) - contains some new commands for configuring Team Explorer connection settings (tweakui) and for  destroying Work Items and Work Items Type Definitions (destroyWI, destroyWITD).
  • Process Template Editor - updated for use with Visual Studio Team System 2008 Team Foundation Server. It also has several improvements, including: the ability to launch standalone without a Visual Studio installation, performance improvements, improved discoverability and bug fixes.
  • Custom Check-In Policy Pack - a set of custom check-in polices including:
    • Custom Path Policy - provides a mechanism that lets you specify the source control path or paths upon which a particular policy acts.
    • Forbidden Patterns Policy - allows you to specify a file extension or a regular expression that you can use to keep certain file types from being checked in to source control.
    • Changeset Comments Policy - allows you to verify that the Comments text box in the Check In dialog box is not empty.
    • Work Item Query Policy - allows you to specify a team query to which the work item associated with a check-in must belong.
  • Team Foundation Server Best Practices Analyzer (BPA) - updated for TFS 2008 deployments.
  • Work Item Templates - adds additional menu items to the Team Work Item Templates menu.
  • Find in Source Control (NEW) - an addition to the Team Explorer menu that provides the ability to locate files and folders in source control by the item’s status or with a wildcard expression.
  • Quick Label (NEW) - allows labels to be easily applied to a given selection of files and folders in the Source Control Explorer.
  • Build Notification (NEW) - runs in the Windows task bar notification area monitoring the status of the build definitions you have specified.  It can be configured to show notifications when builds are queued, started, or completed for multiple build definitions spanning multiple Team Foundation Servers.

You can read more about what's included with the TFS 2008 Power Tools release here.

10 December 2007

Build Type Settings Changes

I've fielded a couple of questions lately about where some of the settings for build types in TFS 2008 are stored.  In the new version of TFS (2008) some of the build type settings have been moved from the TFSBuild.proj file to the TFS databases (mostly the TfsBuild database).  So, even though you see the settings within the XML file (TFSBuild.proj) the XML settings have no effect on builds within TFS 2008.  However, if you still have VS 2005 (or other "version 1") clients accessing your TFS 2008 build types, you should keep the XML settings in sync with the TFS 2008 database settings.

The settings that have been moved to the database include:

  • Description - the build type's description.
  • Build Machine - the default build agent.
  • Team Project - the Team Project the build type belongs to.
  • Build Directory - the directory where the files involved in the build are built.
  • Drop Location - the network location where the build files are "dropped".

If you create a new build type, you will see comments within the XML file noting the change in settings location.  For example:

This property is included only for backwards compatibility. The description of a build definition
is now stored in the database. For compatibility with V1 clients, keep this property in sync with
the value in the database.
<Description>This is my build type's description.</Description>

06 December 2007

TFSInfo Updated for TFS 2008

A few months ago I created a simple command line utility called TFSInfo that can be used to display various bits of information about a Team Foundation Server 2005 installation.  I have now updated this utility to work with TFS 2008 as well as TFS 2005.


You can see from the screen shot which information is displayed.  In case you can't see the image, the following information is displayed by TFSInfo:

  • AT server name
  • AT Version
  • AT Edition (e.g. Standard, Workgroup, or Trial)
  • DT server Name
  • DT Server Version (not available for TFS 2008)
  • SQL Server Version
  • Reporting Server URL
  • TFS Installation Date
  • TFS Product ID

You'll notice in the list above that the Data Tier schema version is not available for TFS 2008.  This is because the column that's used to determine the schema version in TFS 2005 does not exist in TFS 2008 (at least not in the same table).  I wasn't immediately able to locate a replacement column to retrieve the same information.  If I am able to determine how that information is stored (assuming it is) I will release an update.

The new version can be downloaded here.

NOTE: The Team Explorer Client 2005 or 2008 needs to be installed for TFSInfo to work.

03 December 2007

VS 2008 Add-Ins

As I (like many others) make the full-time transition from VS 2005 to VS 2008 I find that I'm having to update several add-ins and utilities that I've grown accustomed to.  Here is a short list of what I've updated so far:

Visual Studio 2008

  • GhostDoc 2.1.2 - I've become very accustomed to pressing Ctrl+Shift+D to fill in the XML comments for my code.  I'm glad to see that VS 2008 is now supported.
  • Project MRU Cleaner - This is a very handy utility for removing orphaned or otherwise unwanted solutions from the Recent Projects list in VS 2005/2008.
  • ReSharper - Although ReSharper does not fully support the .NET Framework version 3.5 yet, Jeffrey Palermo has published some instructions on how to get the latest version of ReSharper working with VS 2008.
  • Silverlight 1.1. Tools Alpha for VS 2008 - Nothing new here - it's just been updated to work with the final release of VS 2008.

Team Foundation Server

I'm still waiting on the full release of Team Foundation Server 2008 Power Tools as I've grown accustomed to using those tools on a regular basis as well - it shouldn't be long.  I also have a couple of add-ins that I've written that I need to get updated for VS 2008 as well.

02 December 2007

Omaha VSTS User Group is Coming

A co-leader (Tim Kelsey) and I have been planning on starting a Team System Users Group in Omaha for several months now.  The initial web site is finally up at www.otsug.org and we are excited to have our first speaker, Bill Maurer, scheduled for January 22nd, 2008.  Bill will be presenting on the new features and updates in VSTS 2008.  Time permitting, he will also cover some of what's coming in "Rosario".

With the addition of the Team System Users Group, there will now be no less than four Microsoft technology-oriented user groups in the Omaha area, including:

We will be holding the initial meeting at Farm Credit Services of America (my employer - and a user group sponsor).  Depending upon the preferences of the user group attendees, we will either continue having the meeting at this location each month or we will move the meeting around Omaha (much like the current .NET Users Group).  I will be placing a survey on our site in the next few days to get everyone's feedback and preferences.

I am looking forward to the inaugural meeting and all that follow.  I have no doubt we will have some great speakers presenting on some great topics and will learn a great deal from each other about all things Team System.

If you are in the Omaha area and would like to join the Omaha Team System Users Group, please visit our site at www.otsug.org and click on the "Join the group" link.  Also, if you're in the Omaha area or are just passing through and would like to present at one of our user group meetings, please submit the User Group Speaker Proposal document located in the Shared Documents section of the web site.

27 November 2007

Power Tools for TFS 2008 Roadmap

Brian Harry has posted a time line of which power tools will be released over the next month for TFS 2008.  In summary, these will include:

  • VSTS Web Access - the "final" version for TFS 2008.
  • MSSCCI Provider - will allow access to TFS 2008 from VS 2003, VS 2002, and VS 6 as well as other IDEs.
  • TFS Power Tools - the same basic TFS Power Tools that shipped for TFS 2005 but compiled against the TFS 2008 object model.
    • Process Template Editor - mainly bug fixes and small improvements.
    • Build Notification Tray App - this is a new Power Tool application that will allow you to monitor TFS builds via a Notification Tray application.
    • WI & WIT Destroy - support for the deletion of work items and work item types has been added to the tfpt command line utility.
    • Best Practices Analyzer - has been updated to work with TFS 2008.

It's nice to read that these updates will be released soon as they have definitely become a necessity in the day-to-day operations using TFS.

You can read the full details, including the timeline, here.

26 November 2007

TFS 2008 License Changes

Brian Harry recently posted details regarding a change to the newly released TFS 2008 licensing model.  In short, the new license structure will allow anyone in your company to perform the following actions against a TFS server (Standard Edition only - does not apply to the Workgroup Edition) within your organization without the need for a CAL:

  • Create work items
  • Query work items they've created
  • View work items they've created
  • Update work items they've created

I suspect this type of activity has probably been going on quite a bit in the past with TFS 2005 - it's just that it hasn't been all that easy to track.  This new change will at least remove some of the worry associated with trying to keep these types of users (i.e. the ones that fit the above profile) in compliance.

The downside (as Brian points out) is that there is no built-in tools to help you determine (or enforce) compliance.  It appears that they plan on providing some enhancements over the next year to address this issue.

What I like about this change is that it will give development shops a little more leverage on how they might choose to make use of the work item features within TFS.  For example, I'm currently finishing up a blog post on how to create TFS work items directly when an exception is caught within your application.  Previously, in TFS 2005, your end users would (legally) need to have a TFS CAL to utilize the exception handler.  Now, in TFS 2008, any end user in your company is automatically covered - no CAL is required.

What I don't like about it (I suppose I shouldn't be complaining - at least it's a start) is that it's overly restrictive.  Does it really hurt to allow full work item access to your employees?  If they can create and manage their own work items, what does it hurt to allow them to manage other work items (not created by them) as well?  Maybe that's a change that will come in the future as Microsoft works out the best fit for their TFS license model.  At any rate, it's a good start.

You can read more in the original post.

15 November 2007

NDiagnostics - Beta Release

Any of us that creates software on a day-to-day basis, that's actually used by someone other than yourself, has undoubtedly had to answer technical support questions about your software and/or troubleshoot why it's not working. In a lot of cases, you may have a dedicated support team that interacts directly with your customer base and they only contact you if they come across something they can't resolve or explain. Over time, the support teams tend to become very efficient at resolving application-specific issues regarding setup and configuration. However, when an application is first released, the process isn't so straight-forward and you may have to field a lot of questions.

Now, don't get me wrong, I'm more than happy to answer any questions I can about the software that I produce. However, I'm also interested in maximizing everyone's time (mine, the technical support staff's, as well as the end-user's). That is why I decided to create NDiagnostics. The purpose of NDiagnostics is to allow for the easy creation of a self-diagnostics utility customized for a specific application. For example, if your application requires certain files and/or folders to be present, a specific version of the .NET Framework, and possibly access to a SQL Server database, then you can create a custom configuration file that can quickly and easily scan a user's machine for compliance. Here's a sample screen shot of what NDiagnostics might look like after scanning a user's workstation:

In this example, the SQL Server Service's Startup Type was not set to Automatic as expected. However, you can quickly ascertain that the required .NET Frameworks are installed, the SQL Server service is running, Visual Studio is running (yet another strange requirement), my blog is available (yeah!), and the application's database is accessible.

This isn't necessarily a real-world example but it does demonstrate how easy it can make troubleshooting certain tasks. It only took a few seconds for the above tasks to run - it would have taken several minutes to verify these tasks manually (possibly hours if the technical support staff had to determine what to verify to begin with).

NDiagnostics is completely configurable via an XML-based configuration file. The configuration file defines the groups of diagnostic tasks to be run as well as the order of the tasks. NDiagnostics currently ships with the following tasks:

  • File Task - checks for the existence of a specific file and can also (optionally) check the version number.
  • Folder Task - checks for the existence of a specific folder.
  • NETFX Task - checks for a specific version of the .NET Framework.
  • Process Task - determines whether a specific process is running.
  • Registry Task - allows you to verify registry settings.
  • SQL Server Task - checks for connection to specified database; optionally check for table existence and/or query result.
  • URL Task - determines whether a specific URL is available (can verify web page or web service).
  • Windows Service Task - determines whether or not a specific Windows Service is installed, and optionally, the current status (e.g. running, stopped, etc.).

Being that this is the first release the set of tasks is somewhat limited. There are several new tasks currently in the works that will be made available in future releases. Also, the project just went "live" tonight so I'm still getting the on-line documentation up to speed.

So, if you have a need for a quick-n-easy diagnostics tool, give NDiagnostics a look. Please provide any feedback as I would like to make this utility as useful, friendly, and simple as possible. If you have any suggestions for new tasks, please post a comment here or leave feedback at the NDiagnostics site. Also, the source code is fully available so you can customize this application to your liking.

13 November 2007

TFS Book Wish List

Have you ever found yourself saying something along the lines of "If only I had more time, I'd write a book about such-and-such"?  Well, I've found myself saying that several times over the past year or so about Team Foundation Server.  Now, don't get me wrong, there are several good books currently available for TFS but none of them quite match what I'm looking for.

I'd like a TFS Automation for Developers book that covers the details for:

  • Programmatically creating new work items.
  • Programmatically querying work items and modifying them.
  • Creating custom check-in policies.
  • Creating custom build tasks.
  • Programmatically accessing and utilizing published unit test and code coverage data.
  • Programmatically accessing related SharePoint documents.
  • An in-depth explanation of the web services architecture and how to use it.
  • An in-depth explanation of the TFS Object Model and how to use it.
  • All of the above for both TFS 2005 and TFS 2008.
  • Anything else I happen to think of :-)

Granted, I can find examples for most (if not all) of the above items on the web today.  However, what I don't have is a comprehensive explanation of each of them and how they all relate and work together.

Searching Amazon.com for "Team Foundation Server" turned up 18 items (17 books and 1 TFS software package) of which only three appeared to focus on Team Foundation Server.  The most promising book out of these three is not yet for sale (although I've added it to my wish list so I don't lose track of it).  Just based on the title (Visual Studio Team Foundation Server [Microsoft .NET Development Series]) it may be close to what I'm looking for.

In the meantime, I still don't have the time (or necessarily, the skill) to write a reference book so I thought I'd start an on-line version of the tasks I outlined above.  The basic purpose of the new site would be to consolidate and organize the information necessary for working with TFS programmatically.  I also realize that MSDN already has a lot of information on it as well but it's not necessarily the easiest to traverse nor does it always have good examples to follow.

So, if you're interested in seeing anything specific, or if you've come across some great sites with great coding examples, please leave a comment.  I'll be posting back soon on the progress.

06 November 2007

SafetyTip - My First Mobile App

A co-worker recently sent me a link about calculating checksums for tips (i.e. the tip you leave your server when paying for a meal at a restaurant).  Without getting into the crux of the poster's original argument ("thieving restaurant servers" - I don't know how often this happens) I found the idea of creating checksums for tips intriguing.

That same night, at one of my family's favorite restaurants, I decided to put the checksum into practice.  However, I quickly realized that mentally calculating checksums for tips wasn't all that fun :-).

So, what's a software developer (with a Windows Mobile-enabled phone) to do?  Develop an application, of course!

I decided to build a simple Windows Mobile application that supports the following features:

  • Allows the entry of the total net amount (i.e. the amount on your bill)
  • Allows you to select a level of service (e.g. Ok, Good, or Excellent) with an associated tip percentage.
  • Allows you to select the tip calculation method (e.g. standard, checksum, or palindrome).
  • Calculates the appropriate tip amount.
  • Allows all default values to be modified.

Notice that I also implemented the "palindrome" method based on a comment on the original post.

The application has two screens.  The first screen allows you to select the tip level and calculation method and also allows you to enter the net (bill) amount.  As you enter the amount, the tip will be calculated based on the method you've selected.


The second screen (invoked by selecting the Preferences menu option) allows you to modify the application's default values.


Granted this is a simple but it's also my first mobile application so it's been a good experience (plus it's something that I'll make use of).  However, even though it's simple, I've learned a lot about the differences in controls between the .NET Framework versions and how to use the Pocket PC emulators as well how mobile applications are deployed.  There's still lots to learn but we all have to start somewhere :-)

If you're interested in the application, you can download the CAB file here.  The application is compiled against the .NET Framework Compact Framework 2.0 which must be installed on your PDA and targets Windows Mobile 5.0.

30 October 2007

Getting Ready for Patterns & Practices Summit 2007

It's almost time for this year's Patterns and Practices Summit and I'm excited for many reasons.  There is a list of great speakers lined up along with some great sessions.  One thing I'm looking forward to with this summit over the typical conference (e.g. TechEd or PDC) is I don't have to pick-and-choose between a dozen (or more) tracks when deciding which sessions to attend - there is only one track with about seven sessions per day.  I'm also looking forward to visiting the Microsoft campus since I've never been there before.  So, all-in-all, it promises to be a great event.

Of course, I'll have to put on my tourist hat in the evenings and check out the local sites such as the Space Needle.  Having never been to Washington state I'm not sure what to check out so if anyone has suggestions, please post them.  Also, if there is anything specific (i.e. super cool) to visit while on the Microsoft campus please post that as well :-)

24 October 2007

TFS 2008 System Recommendations Released

In case you haven't seen it, Brian Harry posted the TFS 2008 System Recommendations a few days ago.  There is some great information in there if you are planning on upgrading existing TFS 2005 installations or if you're planning on installing TFS 2008 on a new system.  Based on the test results it looks like some pretty good performance improvements have been achieved.  You can read more here.

19 October 2007

What's New in TFS 2008

I just completed my presentation on the new features of TFS 2008 at this year's Tulsa TechFest.  It was a relatively small session held in one of the classrooms here at the OSU campus which allowed me to more easily address questions during the presentation.  The topic I presented on is called What's New in TFS 2008.  Although the presentations run roughly 75 minutes, I had to skip over a couple of my demos because there are so many new features in TFS 2008.  It was easy to tell that I'm not the only one excited about some of the new features :-)  If I had to pick my top 5 features in TFS, they would have to be:

  1. Continuous Integration - although there are 3rd party/open source implementations available for TFS 2005 now, they don't have the same, clean integration that's present in TFS 2008.
  2. Build Retention Policies - finally, I won't have to worry about running out of space on the "drop" server because there are 2,000 old builds sitting around collecting dust.  Anyone that's ever had a build fail due to lack of disk space (which is not stated in the build failure log) will appreciate (or, love) this feature!
  3. Better Build Support - specifically, the ability to store the TFSBuild.proj file in any folder.  This greatly enhances branching options.
  4. Queued Builds - the ability to queue builds is great.  I know longer have to wait for my CI build to complete before I can start the test build that pushes the updates to the test machines.
  5. Performance Improvements - there are tons of other enhancements and improvements throughout TFS 2008 but there are also a lot of performance improvements as well.  Anything that allows my builds to complete a little bit sooner is much welcomed.

I could probably list a couple dozen other features that I really like in addition to those above but I have to stop somewhere :-)

You can download the slides here if you're interested:

17 October 2007

TFS 2008 Features in TFS 2005

There are a lot of new features in TFS 2008.  So many in fact, it's difficult to list them all at once.  I will, however, do my best to cover as many new features as I can during this year's Tulsa TechFest when I present on What's New in TFS 2008.  There are a lot of new features that have been integrated into TFS 2008 that can also be had today in TFS 2005.  Some of these are listed below...

Continuous Integration - there are several 3rd party solutions for implementing continuous integration in TFS 2005.  These include:

  • A Microsoft implementation - this is a web-service based implementation that allows you to associate a Team Project with a specific Build Type to be called any time something is checked into version control.  I've seen several variations of this implementation available on the web.
  • TeamCI by Notion Solutions - this is a free CI tool offered by Notion Solutions.
  • TFSBuildLab - this is an open source project on Microsoft's CodePlex site.  This TFS utility offers more than just CI capabilities.

TFSBuildLab - along with the continuous integration capabilities listed above, TFSBuildLab has many other features:

  • Retention policies - can be based on Build Status or Build Quality.  You can also specify the number of builds to keep or the number of days to keep them.
  • Tray notifications - receive build and check-in notifications (via "toast" messages)
  • Build queuing - provides a mechanism for queuing builds.
  • Build scheduling - provides a UI for scheduling builds.

"Listless" Unit Tests - TFS 2008 has the ability to specify which unit tests to run (during a build) based upon a file mask rather than being forced to select a list of tests.  This approach lets you easily run all unit tests within an assembly or set of assemblies (for example) without ever having to manage lists of tests for the build.  Buck Hodges has a great post explaining an implementation for TFS 2005.  Trust me, once you start specifying your unit tests in your build using this approach, you'll never go back to test lists again :-)

"Broken Build" Check-in Policy - TFS 2008 has a new check-in policy called Builds.  When something is checked into version control this policy will check to see if any related builds are currently in a "broke" state;  If so, the policy will fail.  The idea is to not let developers keep checking in code when the build is just going to fail anyway.  Clark Sell has created a Build Status check-in policy for TFS which gives you this functionality now, in TFS 2005.

BuildStep Task - If you've ever wanted to add your own custom text in the build report (the view you get in Visual Studio while watching an active build run through the various build steps) then you're in luck.  In TFS 2008, there's a new build task called the BuildStep task that does just this.  You can also get this functionality in TFS 2005 with the TeamBuildTask posted by Aaron Hallberg.

Incremental Builds - incremental builds are supported within TFS 2008.  TFS 2005 build scripts can be configured to run incremental builds with a little work.  There's a "how to" article on MSDN that explains the steps to run incremental builds in TFS 2005.

There are undoubtedly other features that can be made available for TFS 2005 but this is a good start.

01 October 2007

NLarge Utility

I've been putting the finishing touches on a TFS 2008 presentation that I'll be giving at this year's Tulsa TechFest conference later this month and came across a utility that promises to be extremely useful.  It's called NLarge and provides the ability to zoom in and out of a presentation (or any other displayed materials) using a smooth scrolling effect.  NLarge runs in the taskbar notification area and can be activated with a hotkey (Alt+1).  Once activated, the zoom feature can be controlled with the mouse, tablet pen, and/or keyboard.  Although I haven't used this utility during a presentation yet, I think it will be extremely valuable in aiding those in the back of the room to see what I'm focusing on.

NLarge is an open source project available on Microsoft's CodePlex site.  You can get more information about NLarge here.

29 September 2007

TFS (2005) Power Tools Final Release

The latest and final release of the Team Foundation Server 2005 Power Tools have been released.  This release includes two new additions to the existing Power Tool set:

  1. TFS Work Item Templates - work item templates allow you to define templates for existing work item types with specific fields already filled in.  The work item templates are accessible via a Visual Studio add-in allowing easy access to your templates.  This can be a great time saver if you fill out lots of work items - especially if they have a lot of fields that tend to use the same default values each time.
  2. Team Foundation Server Best Practices Analyzer (TfsBpa) - this is a utility that a lot of people have been eagerly waiting for for some time now.  The TfsBpa can be used to check an existing environment prior to installing TFS 2005 to ensure all pre-requisite requirements are met.  You can also utilize the TfsBpa to troubleshoot existing installation that may not be working as expected.  This utility is going to save a lot of time in the near future for anyone installing TFS 2005 or troubleshooting an existing installation.  There are some installation issues that need to be reviewed prior to installing so be sure to check out the link below.

Brian Harry has posted more details on the above release here.  Brian states that this will be the final Power Tools release for TFS 2005.  I only wish they would have gotten the TFS Best Practices Analyzer out a long time ago instead of waiting until the product has been (for all intents and purposes) replaced by TFS 2008.  He does write, however, that the 2008 version of these tools should be out within a few months along with some new tools that aren't in the current release.

07 September 2007

Tulsa TechFest 2007

The second annual Tulsa TechFest is coming up next month on October 19th and 20th.  There are currently over 50 speakers geared up to present at this years conference with around 15 tracks.  Some of the current speakers include:

And, let's not forget myself :-)  I'll be presenting on What's New with Team Foundation Server 2008 on Friday at 1:00.  This will be my first time at Tulsa TechFest, although not my first time in Tulsa.  I grew up in Oklahoma about 60-90 minutes south-southeast of Tulsa and I also have a sister that currently lives in Tulsa so it will be fun visiting with her.

I'm looking forward to attending and presenting at this year's event and hope to see you there.

04 September 2007

Cool LINQ Utility

Like a lot of you out there, I've been spending a bit of time learning the new Language Integrated Query (LINQ) features available in the .NET Framework 3.5 (still in beta).  LINQ provides some very powerful capabilities for querying not only databases but other data types as well (e.g. XML, .NET collections, arrays, etc.).  Although the syntax is similar to SQL, it is not exactly the same which offers a bit of a learning curve.

I came across a utility called LINQPad a few days ago that has been helping me get over the learning curve with LINQ.  This utility offers functionality similar to the query functionality in SQL Enterprise Manager.  You create ad-hoc queries using the LINQ syntax and view the results in a hierarchical format (where applicable).

There is an interesting challenge on the LINQPad site that goes as follows:

  • Locate the shortcut for SQL Management Studio on your Start Menu and move it some place else.
  • In its place, insert a shortcut to LINQPad.
  • For the next week, perform all your ad-hoc SQL queries using only LINQPad.

I'm currently about 2 days into the challenge and I have to say that it's a completely different mindset.  I also have to admit that I've cheated at least once and used SQL Enterprise Manager to run some queries because I was under a time crunch and didn't have the time to figure out exactly how I could use LINQ to achieve a particular problem.  However, I suspect that after another week or so I should have a very good understanding about the LINQ syntax (at least for database queries).

You can download and read more about LINQPad here.  Also, here are a couple of good LINQ reference sites for anyone starting out with LINQ:

16 August 2007

Missing Silverlight Assemblies in VS 2008 Beta 2

If you happen to be one of the many that is giving Microsoft's Silverlight 1.1 Alpha version a trial run, you may have ran into the same issue I did.  When I created new Silverlight projects in VS 2008 Beta 2, the Silverlight assembly references had a warning icon next to them stating that they could not be found.  The fix is quite simple - Microsoft has released a refreshed version of the Microsoft Silverlight Tools Alpha for Visual Studio 2008 Beta 2.  I uninstalled the old version, installed the new version, and everything worked fine.

09 August 2007

Team Foundation Server 2008 Feature List

Brian Harry has posted what he's calling the (most likely) final feature list post for TFS 2008. It is an impressive list with a few new features listed that won't show up until RTM (i.e. they're not in beta 2). He also re-iterates the compatabilities between VSTS 2005 and VSTS 2008.

You can read the full list here. I've included the new (RTM) items below as well just to show what's coming.
  • Enable support for Reporting Services on any server and any port
  • Support for SQL 2008 (aka Katmai)
  • TFSDeleteProject now permanently deletes (destroys) version control content
  • New role for many operations activities - You don't have to be server administrator to run many of the admin utilities any longer
  • Enhancements to tfsadminutil - New capability to configure accounts, connections, etc on both TFS and the TFS proxy

26 July 2007

Visual Studio 2008 Beta 2 - Released

As of a short while ago, Visual Studio 2008 Beta 2 was released.  This also includes the .NET Framework 3.5 Beta 2.  Silverlight 1.0 RC is expected to be released within the next couple of days.

Also, these releases (Visual Studio 2008 Beta 2, .NET Framework 3.5 Beta 2, as well as Silverlight 1.0 RC) come with a "go live" license that allows you to start development now and not have to worry about a supported upgrade path when the final versions ship later this year.

Here's a list of the installation disc images that can be downloaded:

  • Visual Studio 2008 Standard Edition Beta 2
  • Visual Studio 2008 Professional Edition Beta 2
  • Visual Studio Team System 2008 - Team Suite Beta 2
  • Visual Studio Team System 2008 - Team Foundation Server Beta 2
  • Visual Studio Team System 2008 - Test Load Agent Beta 2
  • MSDN Library for Visual Studio 2008 Beta 2

    Also, there are a couple of VPC images that can be downloaded as well:

  • Visual Studio Team System 2008 - Team Suite Beta 2 VPC
  • Visual Studio Team System 2008 - Team Suite & Team Foundation Server Beta 2 VPC

    The Visual Studio Express Editions can be downloaded from here.

    The Microsoft .NET Framework 3.5 Beta 2 can be downloaded from here.

    You can read more about these releases from Soma, Rob, Brian, and Scott.  I'm sure there will be lots to write about over the next few weeks as everyone gets into the nuts-and-bolts of Beta 2.

  • 24 July 2007

    TFSInfo Updated

    Just a quick post to let everyone know that the TFSInfo utility has been updated to also report the version number of the Team Foundation Server's data tier schema (per this post).  TFSInfo now reports the TFS version based on the Application Tier as well as the Data Tier.

    You can read more about it here.

    18 July 2007

    Vista Sidebar Gadget for Team Builds

    Jim Lamb has released a Windows Sidebar Gadget that allows you to view completed and failed team builds.  The current version is compatible with Visual Studio 2008 Beta 1 (i.e. "Orcas") and should also be compatible with beta 2 once it's released.

    You can read more about it and/or download the gadget here.  Jim also provides a short video demonstration of the gadget on his blog page as well.

    16 July 2007

    Refreshing TFS Version Control Status Icons

    I've seen a some posts lately related to the version control status icons that are displayed in the Solution Explorer within Visual Studio 2005 Team System.  The problem with these status icons is that they do not automatically update to reflect the current status when a file is checked out or back in.  Even refreshing the Solution Explorer does not refresh the status icons.  To see this in action, open a solution in Visual Studio and have someone else check one of the solution files out.  Refresh your Solution Explorer by right-clicking on a project and selecting Refresh.

    There is a way to refresh the status icons - by clicking on File-->Source Control-->Refresh Status.  This will update the status icons to reflect whether a file is checked in or out.  If you're like me and prefer to use the keyboard when possible, you can easily assign a hotkey to this command by:

    1. Click on the Tools-->Options menu item within Visual Studio.
    2. Click on the Environment-->Keyboard node.
    3. Enter "tfsrefreshstatus" into the Show commands containing textbox.
    4. Select the entry "File.TfsRefreshStatus".  This is the command that is executed when you click on File-->Source Control-->Refresh Status.
    5. Enter a shortcut by clicking in the Press shortcut keys textbox and pressing Ctrl+R, Ctrl+S (or any other command sequence you wish) and click on the Assign button.  See the screen shot below for an example:

    Visual Studio Options

    Although I'd rather see the status icons update automatically, this is an easy workaround.

    12 July 2007

    Exposing TFS with the Hamachi VPN

    I am currently working on a project that has developers distributes across two sites.  We wanted to make use of Team Foundation Server but didn't want to expose the server to the "world".  There are a couple of options available to us and we chose to go down the VPN route for two main reasons:

    1. Cost - by utilizing the LogMeIn Hamachi VPN (more on that in a minute) we had to spend only $39 rather than the hundreds of dollars an SSL certificate would have cost us.
    2. Ease - setting up the VPN was very simple - both on the server as well as the client.

    What is the LogMeIn Hamachi VPN you might ask?  Here's what they have to say on their web site:

    LogMeIn Hamachi is a VPN service that easily sets up in 10 minutes, and enables secure remote access to your business network, anywhere there's an Internet connection.

    It works with your existing firewall, and requires no additional configuration. Hamachi is the first networking application to deliver an unprecedented level of direct peer-to-peer connectivity. It is simple, secure, and cost-effective.

    Once I downloaded and installed the VPN software it took me less than 10 minutes (as advertised) to get everything setup and running.  Once I had the VPN configured on the Team Foundation Server machine, an external developer installed the same software on his machine and was accessing TFS within a few minutes.

    We did run into one snag during our initial setup.  The external developer noticed that he could access documents via SharePoint but little red X's were appearing next to the Documents and Reports folders in Team Explorer.  It turned out to be a name resolution problem.  He just added the TFS machine name to his hosts file (along with the server's IP address) and everything was good-to-go.

    Regarding the $39 that we spent on the software... there is a free version of the software that we initially used to get everything setup and working.  However, the free version does not run as a Windows Service so we had to have an active session on the TFS server during our initial testing.  Once we determined the VPN would work for us, we spent the $39 to upgrade which let us switch to a Windows Service configuration with a single click.

    So, if you're looking for a simple, quick, and inexpensive solution for exposing your Team Foundation Server securely, you may want to check the LogMeIn Hamachi VPN out.

    10 July 2007

    Microsoft's Largest Launch - Ever!

    Microsoft announces today (July 10th) that Windows Server 2008, SQL Server 2008, and Visual Studio 2008 (formerly code-named "Orcas") will be officially launched together on February 27th, 2008.  Although it appears that Visual Studio 2008 is still set for release later this year, I have to say I'm a little surprised (although not too much) by the release date.  I had the impression these tools would be available a little sooner than this since the 2007 PDC in Los Angeles was canceled with this message:

    We are currently in the process of rescheduling this fall’s Professional Developer Conference. As the PDC is the definitive developer event focused on the future of the Microsoft platform, we try to align it to be in front of major platform milestones. By this fall, however, upcoming platform technologies including Windows Server 2008, SQL Server codenamed “Katmai,” Visual Studio codenamed “Orcas” and Silverlight will already be in developers’ hands and approaching launch...

    At any rate, I will definitely be ready to start using Visual Studio 2008 as soon as it's available.  And, since Visual Studio 2008 is planned to be released along with a "go-live" license, I may start using it a lot sooner than that.

    You can read more here and here.

    07 July 2007

    How to Determine what Version of TFS is Installed

    There have been several posts out there to help out with determining what version of TFS is currently installed and when it was installed (e.g. here, here, and here). These suggestions require you to check out various file versions, poke around the registry, and/or query the data tier. To ease the process, I have put together a simple console-based utility, TFSInfo, that will give you some basic information (e.g. AT server name, DT server name, version - AT & DT, edition, reporting server URL, the TFS installation date, and product ID) for your TFS installation.

    Here is an example screen shot of the utility's output:

    To use this utility, download the ZIP file and extract TFSInfo.exe onto a machine that has the Team Explorer client installed. From a command console, run TFSInfo passing in the name of the TFS Server application tier.

    The version of the application tier is determined by querying the version of the file 'Microsoft.TeamFoundation.Server.dll'.  The version of the data tier is determined by querying the TfsVersionControl database (read more here).

    If you're running the utility directly on the application tier, you can leave the server name off and just run TFSInfo.exe.


    • If you run this utility on a machine other than the TFS Application Tier, you will need remote registry permissions as well as permissions to query the TFS Version Control system.
    • The data tier is queried using Integrated Security.  You will need access to the TfsVersionControl database in order to retrieve the data tier version.
    • Does not currently support TFS 2008. Support for TFS 2008 will no doubt be added in the near future.

    Please comment if you have any questions and/or suggestions.

    06 July 2007

    Installing Service Pack 1 for TFS and VSTS

    Although Service Pack 1 for Team Foundation Server and Visual Studio 2005 has been out for a while now, the installation process is not necessarily obvious.  Depending upon your configuration, there may be one or more files you need to install - and the order can matter.

    Team Foundation Server:

    1. If you're running Windows Server 2003, there may be issues when attempting to install large MSI files (the Visual Studio 2005 Team Suite SP1 is over 400MB).  See knowledge base article KB925336 for more information as well as a downloadable update to resolve this issue.  Install this update first if you plan on installing SP1 on a Windows 2003 server.  This is about a 1MB download.
    2. A pre-requisite to installing SP1 on the Team Foundation Server is the Visual Studio 2005 Team Foundation Server Quiescence GDR.  There are (currently) two versions of this GDR.  If you have version one (VS80-KB919156-X86.exe) installed, then you'll need to download version 2 (VS80-KB919156-v2-X86.exe) and install it as well.  This is about a 4.5MB download.
    3. Install Visual Studio 2005 Team Foundation Server Service Pack 1.  This is about a 46MB download.
    4. If you have any of the Visual Studio SKUs installed on your Team Foundation Server (e.g. to support unit testing, etc.) then you'll need to install the Visual Studio 2005 Team Suite Service Pack 1NOTE: Depending upon the number of SKUs installed, the service pack installer will run multiple times (once for each SKU) so be prepared for multiple dialogs.  This is about a 430MB download.

    Visual Studio Client:

    1. If you're developing on Windows Server 2003, see Step 1 above.
    2. Install the Visual Studio 2005 Team Suite Service Pack 1NOTE: Depending upon the number of SKUs installed, the service pack installer will run multiple times (once for each SKU) so be prepared for multiple dialogs.  This is about a 430MB download.
    3. If you're developing on Windows Vista then you'll need to install Visual Studio 2005 Service Pack 1 Update for Windows Vista.  This update (which shipped after the release of SP1) addresses areas of Visual Studio impacted by Windows Vista enhancements.

    As with any upgrade, it is highly recommended that you perform a backup of your TFS installation prior to updating to SP1.

    27 June 2007

    Gearing Up for HDC 2007

    It's that time of year again here in the heartland - preparation for the fourth consecutive Heartland Developers Conference.  Last year's conference went very well (Philip and Joe did a great job putting it all together) with a lot of great presentations and this year is looking to be even better.  A new track, “Manage It”, has been added this year which will focus on providing cutting edge content on topics like virtualization, technology driven project management, strategic process management, empowerment tools, and other topics that will help you to manage the development and implementation of your development projects.

    Although the speaker schedule has not yet been updated on the HDC web site, I understand that the two keynote speakers will be Ron Jacobs and Scott Guthrie.  If you have an interest in architecture and/or ASP.NET/AJAX, you will definitely want to check out these guys if you're able to make it to the conference.

    Last year, I had the privilege to give a presentation on automating the build process with TFS.  This year, one of my co-workers (Ron Yenko) will be presenting on Clustering SQL Server 2005 for High Availability.  It promises to be a great talk.

    Hope to see you there.

    20 June 2007

    Visual Studio 2008 Beta 2 Includes "Go-Live" License

    I noticed in a blog post by Scott Guthrie that Visual Studio 2008 (formerly known as "Orcas") will include a "go-live" license allowing it to be put into production use with a supported upgrade path to subsequent releases.

    VS 2008 and .NET 3.5 Beta 2 will ship later this summer, and the Beta 2 release will support a go-live license for those who want to put applications into production using the new features immediately.

    Also, just in case you missed it, "Orcas" is now officially known as Visual Studio 2008 and the related .NET Framework is known as .NET Framework 3.5.  Visual Studio 2008 has "multi-targeting" support which allows you to configure your Visual Studio 2008 projects to use the .NET Framework 2.0, 3.0, or 3.5.

    Read the post here.

    19 June 2007

    A Quick eScrum Review

    As many of you have probably noticed, Microsoft has released a new product called eScrum.  This product adds a scrum-based process template to your Team Foundation Server along with related functionality (e.g. product management, backlog items, tasks, sprint management, and reports) allowing you to manage various parts of the agile software development process.

    eScrum is a Web-based, end-to-end project management tool for Scrum built on the Microsoft Visual Studio Team Foundation Server platform. It provides multiple ways to interact with your Scrum project: eScrum Web-based UI, Team Explorer, and Excel or Project, via Team Foundation Office Integration. In addition, it provides a single place for all Scrum artifacts such as product backlog, sprint backlog, task management, retrospective, and reports with built-in context sensitive help.

    I installed eScrum this morning and gave it a short run-through.  Here are some of my initial thoughts:

    • Three words - "Complete the MSI"!  Although the eScrum product is downloaded as an MSI package, there are still quite a few manual steps that you have to complete before you're able to use the new template.  This includes downloading and/or installing the .NET Framework 2.0 (no biggy here), ASP.NET 2.0 AJAX Extensions 1.0, AJAX Control Toolkit, and the Anti Cross-Site Scripting Library 1.5.  You must also manually install the SharePoint templates as well as upload the process template to TFS.  These are tasks that would be better off automated.  There are also some file-based permissions that need to be configured - this would be better off automated as well.
    • You have to manually edit an XML file to include your eScrum Team Projects within the eScrum portal.  Shouldn't the portal be able to deduce which Team Projects were created with the eScrum process template?  If so, then this should happen automatically.
    • There are two "read me" documents that you must go through in order to setup & configure eScrum.  If the MSI is not going to automate the various tasks for you,then please combine these into a single document.
    • An "administration" screen would be welcomed - if you could add projects and group members from within the web site, it would keep you from having to switch back and forth between Internet Explorer and Team Explorer.
    • Minor issue - if I leave the product owner off when I attempt to save a new product, it tells me that the "Assigned to" field is empty.  I'm not sure if this can be changed or not, and it's really not all that important - just something I noticed.

    Some tips:

    • Follow the "read me" documents step-by-step.  If you do this then you shouldn't have too many problems getting setup.
    • When you download the Anti Cross-Site Scripting Library, be sure you download version 1.5.
    • Be sure to follow the instructions for redirecting the AJAX Control Toolkit version to the version downloaded unless you happen to have version 1.0.10301.0 laying around.  eScrum was compiled against a version older than what is currently available for download so, unless you have access to the old version, you'll need to map the versions within the configuration file.
    • Make sure you edit the two XML files (as noted in the "read me" file) that configure which TFS server/port you're using as well as the name of the TFS eScrum-based Team Project(s) you've created and want to have access to via the web portal.
    • Once you've created the eScrum Team Project(s), you'll need to configure the Team Project security and add members to the "Contributors" group in order for them to show up in the portal as project members.
    • Once you install eScrum, help is available via the link on the web site.

    All in all, I like what I see at first glance.  My favorite part of it all is the simplicity of the UI.  It seems that you have exactly what you need but nothing else.  We haven't had a chance to use it in practice yet so I'll be presenting it to my team over the next few days to see if there is any interest in trying it out (along with/instead of what we're currently using).


    Other References:

    01 May 2007

    Programmatically Download Attachments from TFS

    I created this short snippet of code the other day in reference to a forum question on how to retrieve the linked items for a given work item.  The code below uses the TFS Object Model to retrieve a specific work item (in this case, item #16) and save all attachments to the local file system.

    Code Snippet
    using Microsoft.TeamFoundation.Client;
    using Microsoft.TeamFoundation.Server;
    using Microsoft.TeamFoundation.WorkItemTracking.Client;
    using System;
    using System.IO;

    namespace DTTFSLib
    public class WorkItemTest
    public WorkItemTest(string serverName)
    // Connect to the desired Team Foundation Server
    TeamFoundationServer tfsServer = new TeamFoundationServer(serverName);

    // Authenticate with the Team Foundation Server

    // Get a reference to a Work Item Store
    WorkItemStore workItemStore = new WorkItemStore(tfsServer);

    // Retrieve a Work Item by ID - in this case, bug #16
    WorkItem workItem = workItemStore.GetWorkItem(16);

    // Get attachments
    if (workItem != null)
    WebClient request = new System.Net.WebClient();

    // NOTE: If you use custom credentials to authenticate with TFS then you would most likely
    // want to use those same credentials here
    request.Credentials = System.Net.CredentialCache.DefaultCredentials;

    foreach (Attachment attachment in workItem.Attachments)
    // Display the name & size of the attachment
    Console.WriteLine("Attachment: '" + attachment.Name + "' (" + attachment.Length.ToString() + " bytes)");

    // Save the attachment to a local file
    request.DownloadFile(attachment.Uri, Path.Combine(@"C:\Attachments", attachment.Name));


    Note that exception handling and custom authentication have been left out for brevity.

    Check out the Essentials of Work Item Object Model MSDN site for more information on the work item object model.

    27 April 2007

    TFS Exam 70-510 Goes Live w/Study Guide

    I just read a post from Rob Caron announcing the availability of the preparation guide for Exam 70-510, Technology Specialist: Visual Studio 2005 Team Foundation Server. He also announces that the exam is now live for anyone interested in pursuing this certification.

    26 April 2007

    Answering: "When will bug 'xyz' be ready for testing?"

    Have you ever been asked any of the following questions regarding work items: Is bug #123 ready for testing yet?, or When will I be able to test bug #456?, or What bugs are in the pipeline that will be ready for testing next?

    If you're like me, you've probably answered the above questions at some point in the past something like: "Sure, it's been ready for testing for two days.", or "Bug #456 will be ready for testing after the next nightly build.", or "I don't know what bugs will be coming next, let me run some queries and get back to you."

    Now, I'm a huge fan of Team Foundation Server but I hadn't stopped to take the time to put together a couple of relatively simple queries that would not only save myself and my fellow co-workers some time, but also make everyone's job just a little bit easier.  Before I detail the two queries that eliminated the above questions, here's some details on our environments and automated builds.

    Currently, we develop projects and push them through four environmental stages:

    1. Development: this is where all developers work on a daily basis - more-or-less isolated from the rest of the world.
    2. System Test: this is the environment that our testers perform their daily testing.
    3. Integrated Test ("Staging"): this is where we test out the integration points among multiple applications.
    4. Production: of course this is the environment in which our daily business runs.

    Now, for each of our Team Foundation Server projects, we have three standard build types:

    1. Continuous Integration Build: this build type is automatically executed with each check in and deploys any binaries, files, etc. into the Development environment.
    2. System Test Build: this build type is executed nightly on a scheduled basis.  All binaries, files, etc. are deployed to the System Test environment where our QA/Testers can "work it over" the following day.
    3. Integrated Test Build: this build type merely stages the various binaries, files, etc. to be pushed by the Integrated Test environment via CM processes.

    So, back to the original goal of eliminating the original questions above.  To do this, I created two queries named:

    • Work Items Staged for Testing - this query, when ran, returns a list of all work items (e.g. Bugs) that have a State of "Resolved" and an "Integration Integration Build" (displayed as "Resolved in build" on the Work Item's Details tab) beginning with the text "Continuous Build" (the name of our CI build type).  So, basically, this returns a list of all Work Items that have been associated with a changeset that has gone through the CI process, which means it has been deployed to the development environment and will be deployed to the System Test environment after the next nightly build.

    • Work Items Ready for Testing - this query, when ran, returns a list of all work items that have a State of "Resolved" and an "Integration Build" that does not begin with "Continuous Integration Build" and is also not empty.  I do not specifically check for a "System Test Build" in this query because I am assuming that any build type other than the CI build deploys the changes into an environment from which they can be tested.

    With the recent acquisition of TeamPlain by Microsoft, we have deployed the TFS portal within our project teams giving our testers a nice web-based interface into TFS.  Now, when they are curious about the state of existing work items, they can run the queries detailed above and get their answers immediately.

    One caveat to all of this, if you decide to implement similar queries then you must ensure that your developers associate work items with their changesets when checking in source code (or other files).

    Also, your build types must have the <UpdateWorkItems> element in your build scripts set to "true".  This setting is what causes the "Integration Build" value to be updated to the latest build number associated with the work item.

    Without the integration of TFS & Visual Studio, these types of queries would be a lot more difficult (if even possible) to build.

    17 April 2007

    71-510: TS: Visual Studio 2005 TFS Beta Exam Results Are In

    As you may have noticed in other posts, the results for the 71-510 beta exam are starting to show up on participant transcripts (on the MCP member site).  If you took the test a couple of months back then you may be able see your results by now.  I checked mine today to find out that I passed the exam.

    Now that the beta results are starting to appear, the "live" exam will probably be available soon.  If you're planning on taking the exam, here are a couple of links to help get you started:

    06 April 2007

    Updated Team Foundation Server Roadmap for "Orcas"

    Brian Harry has just published a new post detailing the future "Orcas" release of Team Foundation Server. The post is fairly detailed and he attempts to point out what features are new as well as what will be in the Beta 1 release vs. the Beta 2 release.

    The features marked as new include:
    • TFS Best Practices Analyzer - A tool that can be run against your TFS server that will help diagnose configuration errors and tuning possibilities.
    • VSTS Web Access - There's been much written about this already but the new Web Access product from devBiz will be released as a Power Tool in the next 60-90 days.
    • Support for MOSS 2007.
    • Official testing and support for more configurations - This includes clustering, mirroring, log shipping, Virtual machine deployment, and more.
    • Scheduled builds - You can schedule builds to happen at specified times.
    • Improved build agent communication - We replaced .NET binary remoting with WCF web services, simplifying some configuration and security aspects.
    • Ability to run GUI tests as part of a build - Automated builds used to run tests in such a way as to prevent access to a GUI desktop.
    • New checkin policy for broken CI builds - Preventing checkin while the CI build is broken.
    • Offine improvements (Beta 2) - We've signficantly improved the experience going offline and integrated the tfpt online capability into the IDE for going back online.
    • Extranet support for the TFS Proxy - allowing you to access a local TFS proxy with a different set of credentials than the TFS server.
    • Command line help - You can now type "tf command /help" and get a console dump of the usage of that command. This is much more convenient than always being launched into the richer GUI hypertext help when you just want to remember what the options for a command are. You can still launch the GUI help by running "tf msdn". You can get a console dump of available commands by just typing "tf help".
    • Source Control Explorer refresh improvements - This includes less redrawing and reloading but even more important it enables updates based on changes made in other instances of TeamExploror or the command line. That's right, if you checkout a file from the command line, any instances of TeamExplorer you have running on the same machine will automatically refresh.
    • Query builder usability improvements - Drop down filtering based on current project, better MRU lists, column drag & drop, shift-click mouse based multi-column sorting, etc.
    • Attachments improvements - Save button, drag & drop for adding an attachment, multi-select for attaching files.
    • Tooltips on field names contain the field name used for querying.
    • Server side support for deleting work items & work item types (Beta 2) - We didn't have time to do client UI support for it but we plan to release a Power Tool that will take advantage of the new server side feature.

    The above list is only what has been flagged as "new" (some of which won't be available until beta 2). See Brian's original post for a complete list of all features.

    26 March 2007

    Microsoft Acquires TeamPlain!

    The buzz of the day in the land of TFS has to be the story of Microsoft acquiring TeamPlain!  Brian Harry has posted the details but the two main points that stick out is that:

    1. TeamPlain will become Microsoft Visual Studio Team System Web Access (sometime around the "Orcas" release).
    2. It is available immediately as a free download for anyone who owns Team Foundation Server.

    The focus of TeamPlain is on TFS work items, however, there is also some built-in version control capabilities, SharePoint integration, Reporting Services integration, and some build support (in a future release).

    If you currently have users using the Team Explorer client solely for work item tracking, then you should probably at least give TeamPlain a look.

    VSTS Guidance Updated

    The Patternes and Practices Visual Studio Team System Guidance site has been updated to include a few new items, including:
    Here's a list of what else is also available at this site:
    The purpose of the Patternes and Practices Visual Studio Team System Guidance project is to build some insightful and practical guidance around using Microsoft Visual Studio Team System. It's a collaborative effort between patterns & practices, Team System team members, and industry experts.

    07 March 2007

    VS 2005 SP 1 Update for Windows Vista Released

    If you've been developing on Windows Vista using Visual Studio 2005 then you've no doubt become all too familiar with the warning dialog that pops up every time you start Visual Studio (assuming you haven't disabled it). This dialog lets you know that your version of Visual Studio may not work as excepted while developing on Vista and that you should install the Visual Studio 2005 Service Pack 1 Update for Windows Vista.

    Since the release of Visual Studio 2005 Service Pack 1, this update was available only as a beta release. Microsoft has now released the non-beta version of this update which can be downloaded here.

    Check out the following links if you're curious about what issues exist with Visual Studio 2005 and Windows Vista:

    03 March 2007

    Outlook Add-In for Team Foundation Server

    I came across a (free!) add-in a while back that provides integration of TFS Work Items with Microsoft Outlook 2003.  This add-in provides the following features:

  • Create work items directly from e-mail messages.
  • Submit and edit work items.
  • Execute stored queries.
  • Find work items by ID.
  • Export stored query results.
  • Send work item data and query results by e-mail.
  • Does not require Team Explorer to be installed (although you still need to maintain the required end-user CALs).
  • If you have business owners, testers, quality assurance users, etc. that would like to be able to create and/or manage work items within TFS without having to install Team Explorer (or some other 3rd party interface) then check out this add-in.  It's definitely worth a look.

    The current version supports only Microsoft Outlook 2003 but a version for Microsoft Office Outlook 2007 is in the works and planned to be released soon.

    Read more about it here and/or download the add-in here.

    02 March 2007

    New Orcas Features

    Eric Lee has a nice post on some of the new features found in the current Orcas release. There is some really nice stuff coming out with Orcas, especially in the area of Team Foundation Server. Some of these features include:
    • Code Metrics - view various metrics about your source code.
    • Annotation View for Files under Version Control - lets you see who changed what & when?
    • Team Foundation Server Build Definition Editor - quit messing around in all that XML!
    • Build Retention Policy - automatically remove build files from your drop location.
    • Continuous Builds - finally! :-)
    • Build Queues - lets you queue up builds.
    • Folder Differencing - allows you to compare everything within folders.
    • Runtime Control of a Performance Session - control your performance session as it runs.
    • Query View in Performance Reports - construct queries to sort through your performance data.
    • Integration with Work Item Tracking - right-click to directly create a work item within the Performance Explorer.
    • Performance Report Comparison - compares two performance files.

    These improvements alone make for a nice upgrade (in my opinion) but these don't even include the new advancements made in the new .NET Framework.

    Scott Guthrie has also posted on some of the new web development features found in the current Orcas release. Looks like some really nice features for richer HTML/CSS development, better data querying (via LINQ), etc.. Take a look at Scott's presentation slidedeck for more information.

    The Orcas VPCs can be downloaded from here:

    25 February 2007

    Running FitNesse Tests from your Team Build Script

    For anyone using FitNesse you may have the need (or just plain desire) to run your FitNesse tests from within your Team Build scripts.  This is a need that we have on a project I'm currently working on so I investigated the various options for implementing the tests within our automated build process.

    In the end, I ended up creating a custom build task that allows you to run FitNesse tests as part of your build.  The build task currently supports FitNesse but will also support tsqlunit tests (another testing framework we use) in the near future.

    I've placed the custom task on CodePlex here in case anyone else is interested in making use of it.  You can download the installation file here if you're not interested in the source code and just want to install the build task.

    The build task works by running the FitNesse test just as you would through a browser - i.e. it makes a request to the specific test page's (or suite's) URL and parsing the resulting HTML to determine the outcome of the test(s).  The advantage to this approach (rather than using the TestRunner.exe application) is that it does not require any FitNesse components to be installed on the build machine.

    If you have any suggestions and/or comments, please post them on-line here.  Click here to see an example of how to call the build task.

    24 February 2007

    Beta Exam 71-510: Study Links

    Like several others out there, I am planning on taking the Beta 71-510 exam next week.  Being that this is the first time this test has existed, it is difficult to figure out what to study and where to find study materials (other than the obvious - experience with TFS itself).  I've put together a few links that I've been using while studying for the exam so I thought I'd post them here in case anyone else finds them useful.