Frage TFS 2010 - VersionControl.config ist nicht gültig und kann nicht geladen werden


Vor kurzem hatten wir ein seltsames Problem mit TFS 2010. Wir verbrachten ein paar Tage, bevor wir es herausgefunden haben. Ich möchte nur mein Wissen über das Problem teilen, das anderen Menschen helfen könnte.

Es funktionierte vorher für ungefähr 2 Jahre ohne Probleme. Aber plötzlich begannen die Builds mit folgendem Fehler:

Erstellen Sie die Projekte nacheinander in dieser Lösung. Ermöglichen   paralleler Build, fügen Sie bitte den "/ m" Schalter hinzu. MSBUILD: Fehler MSB4017:   Der Build wurde aufgrund einer unerwarteten Protokollierung unerwartet beendet   Fehler. Microsoft.Build.Exceptions.InternalLoggerException: Der Build   unerwartet wegen eines unerwarteten Protokollierungsfehlers beendet. --->   Microsoft.TeamFoundation.VersionControl.Client.VersionControlException:   Die Cache-Datei   C: \ Windows \ System32 \ Konfiguration \ Systemprofil \ AppData \ Local \ Microsoft \ Team   Foundation \ 3.0 \ Cache \ VersionControl.config ist nicht gültig und kann nicht sein   geladen. Bitte korrigieren oder löschen Sie die Datei. --->   System.NullReferenceException: Objektverweis nicht auf eine Instanz festgelegt   eines Objekts. beim   Microsoft.TeamFoundation.VersionControl.Client.InternalCacheLoader.LoadConfig (InternalCache   currentCache, Boolean dataDirectoryExists,   InternalWorkspaceConflictInfo [] & in Konflikt stehendeWorkspaces) --- Ende von   innere Ausnahme Stack-Spur --- um   Microsoft.TeamFoundation.VersionControl.Client.InternalCacheLoader.LoadConfig (InternalCache   currentCache, Boolean dataDirectoryExists,   InternalWorkspaceConflictInfo [] & in Konflikt stehendeWorkspaces)

Das Löschen des Inhalts des Cache-Ordners, der in der Fehlermeldung erwähnt wird, half nicht.

Es gab einen Zufall von 2 Dingen um diese Zeit:

  • Der Server hat keinen freien Speicherplatz mehr in Laufwerk C:

  • Unsere Support-Mitarbeiter installierten Windows-Updates, einschließlich Service Pack 1 für TFS.

Einige unserer Projekte waren 32 Bit, wie zum Beispiel Silverlight, das muss 32 Bit sein, noch nie 64. Unser TFS-Server ist jedoch 64-Bit. Um Projekte korrekt zu kompilieren, sollten die Build-Definitionen entweder "Auto" (das 64-Bit-Kompilierung als TFS-Server ausführt) oder "X86" angeben, das 32-Bit-Kompilierung erzwingt.

Diejenigen, die X86 sind, begannen plötzlich mit dem oben genannten Fehler zu versagen.

LÖSUNG:

Anscheinend gibt es einen anderen Speicherort des Cache-Ordners: C: \ Windows \ SysWOW64 \ Konfiguration \ Systemprofil \ AppData \ Local \ Microsoft \ Team Foundation \ 3.0 \ Cache

Wir haben den Inhalt dieses Ordners gelöscht und alles hat richtig funktioniert.

BTW: Es hat nichts mit dem Schalter / m zu tun. Wir haben es auch versucht, aber es hat nicht geholfen.


19
2018-04-16 22:15


Ursprung


Antworten:


Ich hatte das gleiche Problem nach einer Warnung zu wenig Speicherplatz.

Das Löschen / Umbenennen der Datei C: \ Benutzer \ Benutzer.Name \ AppData \ Lokal \ Microsoft \ Team Foundation \ 4.0 \ Cache \ VersionControl.config löste das Problem in meinem Fall.


10
2018-01-05 10:22



Alle Cache-Ordner löschen:

  • %WINDIR%\System32\Config\Systemprofile\AppData\Local\Microsoft\Team Foundation\3.0\Cache
  • %WINDIR%\SysWOW64\Config\Systemprofile\AppData\Local\Microsoft\Team Foundation\3.0\Cache

4
2018-01-30 14:47



Team Explorer tauchte als mit TFS verbunden auf. Aber "Source Control Explorer" wurde als getrennt gekennzeichnet.

durch das Löschen von "C: \ Benutzer \ Benutzer.Name \ AppData \ Lokal \ Microsoft \ Team Foundation \ 4.0 \ Cache \ VersionControl.config" wurde das Problem ebenfalls behoben. (Danke)


2
2017-12-08 12:48



Im Anschluss an @ Mhu's Implikation, dass die TFS Cache Verzeichnisse sollten gelöscht werden, ich habe eine vollständige Suche nach "Team Foundation" -Ordnern, die einen Cache-Unterordner auf meinem Build-Server hatten.

Ich habe dann eine Batch-Datei erstellt, die sie löscht. Meine Builds funktionierten, nachdem dieses Skript ausgeführt wurde.

Dateiname: ClearTFSCache.bat Dateiinhalt:

@echo+

@echo Removing TFS Cache Folder #1
@RD /S /Q "C:\Users\AAA_USERNAME\AppData\Local\Microsoft\Team Foundation\4.0\Cache"

@echo Removing TFS Cache Folder #2
@RD /S /Q "C:\Windows\ServiceProfiles\BBB_SERVICEACCOUNT\AppData\Local\Microsoft\Team Foundation\4.0\Cache"

@pause

Es gibt zwei Variablen, die hier ersetzt werden sollten:

  1. AAA_USERNAME ist für den Benutzernamen des aktuellen Benutzers (basierend auf der manuellen Anmeldung am Server).
  2. BBB_SERVICEACCOUNT ist für das Konto, das zum Ausführen des TFS-Erstellungsdiensts verwendet wird, auf den über die Team Foundation Server-Verwaltungskonsole zugegriffen werden kann:

    How to find out where TFS Cache is

    In meinem Fall war es "NetworkService".


1
2017-09-23 23:51