| Team Explorer is Empty but Connection and Credentials Are Valid |
| Friday, April 13 2007 |
|
This week I've been spending lots of time installing and configuring TFS and just when I thought everything was well and good, I ran into a slightly frustrating issue late last night (ok, *very* early this morning). I got everything installed and configured properly, and then created a test project to make sure my laptop could connect to it and work with it. And it did. Everything worked as expected.
Being the clean-computer-freak that I am, I decided to uninstall SourceGear Vault Client, which is what I was using for a couple little side projects I have, and since I'll be moving those into TFS, I no longer need Vault and thus the reason for the uninstall. But that's where things went afoul. After the uninstall completed, I could no longer see any of my TFS projects in Team Explorer. I could connect to the TFS server with the appropriate credentials, but nothing showed up in Team Explorer. All I got was the following message: "Team Foundation Error: Object reference not set blah blah blah". Yep, very helpful.
So off troubleshooting I go. My source control settings in Visual Studio were fine, so no problem there. Initial Googling and forum searching didn't turn up much (after more time than I care to admit), so I resorted to reinstalling Team Explorer. No dice. I even reinstalled VS2005 SP1 (which thankfully recognized that only Team Explorer needed updating). Still no dice, and since it was getting very late I decided to go to sleep in frustration.
Naturally, after waking up a few short hours later, I go right back to trying to get this problem fixed, and after a much shorter time Googling than before, I found this blog post by James Dawson who had a similar problem that seemed related to an issue he was having with IE, for which he used this JSI FAQ to fix. I didn't have the IE problem, but his Team Explorer problem matched mine, so I decided to do what the FAQ suggested and re-register the following IE components:
Being the clean-computer-freak that I am, I decided to uninstall SourceGear Vault Client, which is what I was using for a couple little side projects I have, and since I'll be moving those into TFS, I no longer need Vault and thus the reason for the uninstall. But that's where things went afoul. After the uninstall completed, I could no longer see any of my TFS projects in Team Explorer. I could connect to the TFS server with the appropriate credentials, but nothing showed up in Team Explorer. All I got was the following message: "Team Foundation Error: Object reference not set blah blah blah". Yep, very helpful.
So off troubleshooting I go. My source control settings in Visual Studio were fine, so no problem there. Initial Googling and forum searching didn't turn up much (after more time than I care to admit), so I resorted to reinstalling Team Explorer. No dice. I even reinstalled VS2005 SP1 (which thankfully recognized that only Team Explorer needed updating). Still no dice, and since it was getting very late I decided to go to sleep in frustration.
Naturally, after waking up a few short hours later, I go right back to trying to get this problem fixed, and after a much shorter time Googling than before, I found this blog post by James Dawson who had a similar problem that seemed related to an issue he was having with IE, for which he used this JSI FAQ to fix. I didn't have the IE problem, but his Team Explorer problem matched mine, so I decided to do what the FAQ suggested and re-register the following IE components:
regsvr32 /s urlmon.dll
regsvr32 /s actxprxy.dll
regsvr32 /s shdocvw.dll
regsvr32 /s mshtml.dll
regsvr32 /s browseui.dll
regsvr32 /s jscript.dll
regsvr32 /s vbscript.dll
regsvr32 /s oleaut32.dll
Now, I don't know if a specific one of these or a combination or all of them were needed to fix the problem, but it worked. The Vault Client uninstall obviously messed with at least one IE component on this list, but the problem has been resolved and Team Explorer works normally again. Hopefully this post will save someone lots of time when it happens to them.
