Team Foundation Server goes Mainstream — VS 2010 Pricing

To use TFS with Visual Studio 2008 / 2005, you had to get hold of a second installer (Team Explorer) which if I remember correctly was not free at first, then was made freely available. You install it and then you have to try and find the menu that has a new menu item which lets you connect to a Team Foundation Server… If you were dedicated, you would find your way!

After starting up a fresh install of VS 2010 Beta 2 what do you see?


That’s right, easy access to connect to your Team Foundation Server. So that’s nice, but you’re a small company and SourceSafe works for you and Team Foundation Server costs thousands of $$$$. Right?

No. First, if you are using SourceSafe, product support will reach end of life in mid 2011. After that you will get extended support if you pay (handsomely). Second, TFS 2010 has been priced to appeal to the smaller development teams too. Below is the suggested retail pricing in USD.

With 1-Year MSDN Subscription*
Product Buy Upgrade Buy Renew
Visual Studio 2010 Ultimate $11,899 $3,799
Visual Studio 2010 Premium $5,469 $2,299
Visual Studio 2010 Professional $799 $549 $1,199 $799
Visual Studio Test Professional 2010 $2,169 $899
Visual Studio Team Foundation Server 2010 $499 $399
Visual Studio Team Foundation Server 2010 CAL $499
Visual Studio Load Test Virtual User Pack 2010 (1000 Virtual Users) $4,499
* Subscription contents vary by purchased product.
Posted in Visual Studio | Leave a comment

Upgrading Code — Tackling Code Analysis in Visual Studio 2010 (Part 1)

Please note that this is all base on a non-RTM build of Visual Studio 2010, so you may get different mileage out of the final product.

Work has started on creating a version of the MSBuild Extension Pack targeted at .net 4.0 which comes with Visual Studio 2010. There are two big changes when it comes to VS2010, Rule Sets & new rules.

Version of the Extension Pack compiles with zero Code Analysis violations in Visual Studio 2008. There are suppressions in the code, but a lot of effort has gone into understanding what has been flagged and writing compliant code. The branch is based off the code base, so I was eager to see what the Code Analysis built into VS2010 would report.

When the projects were upgraded to VS2010 projects, they each received a “Migrated rules for [ProjectName].ruleset” file. This makes sense if you have crafted a subset of rules to use, but we use them all on the Extension Pack, and want to take advantage of the new rules; so all these files were deleted and each project configured to use the ‘Microsoft All Rules’ rule set.

That’s the easy part. Now lets build and see how bad it is….

1367 errors. Ok, so I was expecting a few errors, but not that many! Either we’ve found a way better way to write code, or there are some over zealous new rules…

A quick scan of the results shows that there are a lot of

  • CA2204: Literals should be spelled correctly (a new rule)
  • CA1303: Do not pass literals as localized parameters (a new rule)

For CA2204, it’s picking up just about every parameter used in messages. We could add a CA dictionary, but I don’t think there will be much benefit. Let’s suppress the messages initially and look into disabling the rule or implementing the dictionary at a later stage.

For CA1303, it’s a Globalization issue. Given more time and resource Globalization might make it up the priority list, but right now its pretty near the bottom. This rule will be disabled, so let’s edit the ‘Microsoft All Rules’ rule set and create a shared MSBuild.ExtensionPack.ruleset file. This file has the CA1303 rule removed and all rules set to error rather than warn. All projects are updated to point to the new rule set file.

Rescanning the code brings us to 87 errors. So we have cleared the ‘noise’! We are a fair way from zero still with the 87 falling into the following rules:

  • CA1062: Validate arguments of public methods (a new rule, 4)
  • CA1305: Specify IFormatProvider (3)
  • CA2000: Dispose objects before losing scope (a new rule 63)
  • CA2100: Review SQL queries for security vulnerabilities (a new rule 2)
  • CA2202: Do not dispose objects multiple times (a new rule 15)

So if VS 2008 had CA1305, why didn’t it pick up the errors? Well the error detected is not that IFormatProvider has not been specified, but that the wrong provider has been specified. So that’s good news. Not only do we have new rules, but the old rules have been improved too.

The ‘CA1062: Validate arguments of public methods’ and ‘CA1305: Specify IFormatProvider’ errors are easy enough, but the other three are worth looking at in more detail in Part 2.

Posted in Visual Studio | Leave a comment

MSBuild Extension Pack — Next up…

Those who keep a close eye on the Source Code tab in CodePlex will notice that in addition to shipping version, versions and have also been branched.

At the time of writing this, all branches contain the same code. Version forms the basis of future versions. There were a few tasks and fixes that didn’t make it into and we’ll try get those included in the release due within the next quarter.

The branch should be treated as alpha code and is likely to undergo many changes, some of which may break compatibility, but full details will be published when the code starts to stabilise. The only timeline currently available for a stable release is Q1 2010.

As always your feedback is appreciated.


Posted in MSBuild | Leave a comment

MSBuild Extension Pack — Available now

We’ve just shipped the latest release of the MSBuild Extension Pack! This release contains numerous bug fixes, enhancements and new tasks. You can view the significant changes here.



Posted in MSBuild | Leave a comment

Visual Studio 2010 and Team Foundation Server 2010 VM Factory

Take a look at this new project on CodePlex if you are or plan to use virtualisation with VS/TFS

Visual Studio 2010 and Team Foundation Server 2010 VM Factory

“The purpose of this project is to build prescriptive guidance around the virtualization of the Visual Studio 2010 and guidance for full automation of the creation of virtual machines. The goal is to help users with the installation and configuration of virtualized environments with least effort and maximum automation.“

NOTE: If you use the Download Now button from the main page, you will only get the single document. There are in fact three documents to download. Click on the more info link to see the full release details where you can download all docs.

Posted in Visual Studio | Leave a comment

Now Available: Visual Studio 2010 Beta 2 Virtual Machines with Sample Data

See Brian Keller’s blog post here


Posted in .NET | Leave a comment

MSBuild Extension Pack on dnrTV

Sayed Ibrahim Hashimi covers some tasks in the MSBuild Extension Pack in this dnrTV show.

Watch now

Posted in MSBuild | Leave a comment