If you built a custom control in VS2005 (Whidbey) and deployed in user’s machines, what happens if the user upgrades to next version of TFS (Orcas or Rosario)? The Orcas client will try to load the custom control, but the custom control was compiled with VS2005 version of TFS dlls. Hence TFS will try to load those older version of TFS dlls and since they cannot be found they’ll fail with dll loading exception.

 

So for custom controls to be loaded in Orcas client, the controls have to be recompiled with Orcas version of binaries and deployed to client machines. This is because of the dll dependencies. Inside Microsoft, we use bunch of custom controls and we have one installer for Whidbey and another for Orcas. It could be same custom control code but just compiled with right TFS dlls.

 

What if customers have various versions of VS side-by-side? It is possible to have VS2005 and Orcas in same machine. For that purpose, we changed the search location of custom controls such that we’ll look at 9.0 folder under custom controls first and if we do not find required control then we’ll look at original location. So if you are building a setup for Orcas version of custom controls, install your controls under <custom control folder>\9.0 folder. Whidbey version of controls can continue to stay under original custom controls folder.

 

This also enables taking advantage of new features of Orcas in your custom controls while giving older version for Whidbey users.