Over the past few weeks, we’ve been experimenting with TFS 2012 deployments. We’ve been impressed with the new features and the new look. New installs in sanboxed environments were fairly straightforward, so our next project was to put the upgrade process to the test. I won’t spend much time on the different upgrade paths as it’s covered in countless posts online. I will say that we stood up a new TFS 2010 + SP1 instance, then restored a backup of one of our environments and made sure that it was working properly. Since this particular instance was also synced with Project Server 2010 through the Integration Feature Pack, we re-installed that aspect as well.
On to the upgrade process..
TFS 2012 relies on SharePoint 2010 to functions and the WSS 3.0 that was installed with TFS 2010 needs to be upgraded. So, we popped the SharePoint Server DVD in and selected “Install software prerequisites”
This installed the following:
• Application Server Role, Web Server (IIS) Role
• Microsoft SQL Server 2008 Native Client
• Hotfix for Microsoft Windows (KB976462)
• Windows Identity Foundation (KB974405)
• Microsoft Sync Framework Runtime v1.0 (x64)
• Microsoft Chart Controls for Microsoft .NET Framework 3.5
• Microsoft Filter Pack 2.0
• Microsoft SQL Server 2008 Analysis Services ADOMD.NET
• Microsoft Server Speech Platform Runtime (x64)
• Microsoft Server Speech Recognition Language – TELE(en-US)
• SQL 2008 R2 Reporting Services SharePoint 2010 Add-in
Immediately after this step we noticed that we were no longer able to connect to our TFS 2010 collections from Visual Studio or through the web interface. Browsing to the http://servername/tfs page gave us a generic HTTP 500 error. If you find yourself in this situation, do not despair. Just follow along.
1. To investigate, in IIS, extend the “Team Foundation Server” site, right-click on the “tfs” Application, Manage Application > Browse.
This will open Internet Explorer (or your associated browser) to reveal a generic error page. This is not very useful, is it? So let’s get IIS to give us some more information about what exactly is going wrong.
2. Back in IIS, right-click “tfs” Application, click Explore. This will open a Windows Explorer window at the location where your TFS web service is installed.
3. Make a backup of the web.config file (I just copy the file and paste it in the same location and Windows will append “Copy” to the filename)
4. Now, open an elevated Notepad process: Start > All Programs > Accessories > Right-click Notepad and click Run as Administrator.
5. File> Open in the elevated Notepad and browse to where the web.config file is and open it. Search for “customErrors” and find the place where this is defined. You will want to change this setting to “RemoteOnly”.
<customErrors mode=”On” />
<customErrors mode=”RemoteOnly” />
Save the file.
6. Now, to take another look at that error message in IE. If you have the window still open, just hit refresh, otherwise, just follow Step 1 again. You should see the following error:
typeloadexception: Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=22.214.171.124, Culture=neutral, PublicKeyToken=b77a5c561934e089'
This is caused by the Prerequisites Install of SharePoint Foundation 2010. It looks like a new ASP.NET version was installed but wasn’t registered properly and has messed up something with IIS.
7. No matter! There is an easy fix for this. Open an elevated command prompt (Run as Administrator) and change directory to where the new .NET framework was installed (in our case it was C:\Windows\Microsoft.NET\Framework64\v4.0.30319).
Now, run the following command:
This will register the newly installed framework but leave your IIS configuration intact.
8. Browse to the “tfs” application again and it should now work properly. You should also now be able to connect to your collection with Visual Studio.
At this point, you can undo the changes you had made to your web.config file (either revert the backup by deleting Web.config and renaming Web – Copy.config or change “RemoteOnly” back to “On”).
Incoming search terms:
- tfs 2012 getprocessingstatus