TFS 2010 - VersionControl.config is not valid and cannot be loaded

Slava K picture Slava K · Apr 17, 2013 · Viewed 8.9k times · Source

Recently, we experienced a strange problem with TFS 2010. We spent a few days before we figured it out. Just want to share my knowledge on the problem that might help other people.

It was working before with no problem for about 2 years. But suddenly, the builds started failing with the following error:

Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. MSBUILD : error MSB4017: The build stopped unexpectedly because of an unexpected logger failure. Microsoft.Build.Exceptions.InternalLoggerException: The build stopped unexpectedly because of an unexpected logger failure. ---> Microsoft.TeamFoundation.VersionControl.Client.VersionControlException: The cache file C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\Team Foundation\3.0\Cache\VersionControl.config is not valid and cannot be loaded. Please correct or delete the file. ---> System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.TeamFoundation.VersionControl.Client.InternalCacheLoader.LoadConfig(InternalCache currentCache, Boolean dataDirectoryExists, InternalWorkspaceConflictInfo[]& conflictingWorkspaces) --- End of inner exception stack trace --- at Microsoft.TeamFoundation.VersionControl.Client.InternalCacheLoader.LoadConfig(InternalCache currentCache, Boolean dataDirectoryExists, InternalWorkspaceConflictInfo[]& conflictingWorkspaces)

Deletion of the contents of Cache folder mentioned in the error message did not help.

There was a coincidence of 2 things around that time:

  • the server was running out of free space in drive C:

  • our support people were installing Windows updates, including Service Pack 1 for TFS as well.

Some of our projects were 32 bit, like Silverlight for example, that must be 32 bit, never 64 yet. However, our TFS server is 64 bit. In order to compile projects properly, the build definitions should specify either "Auto" (that runs 64 bit compilation as the TFS server is) or "X86" that enforces 32 bit compilation.

Those ones that are X86 started failing all of a sudden with the error mentioned above.

SOLUTION:

Apparently, there is another location of Cache folder as well: C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Microsoft\Team Foundation\3.0\Cache

We deleted the contents of that folder, and everything started working properly.

BTW: it has nothing to do with the /m switch. We tried it as well, but it did not help.

Answer

zelmarou picture zelmarou · Jan 5, 2015

I had the same issue after a low disk space warning.

Deleting/renaming the file C:\Users\user.name\AppData\Local\Microsoft\Team Foundation\4.0\Cache\VersionControl.config solved the issue in my case.