Ответ 1
У меня была такая же проблема после предупреждения о низком диске.
Удаление/переименование файла C:\Users\user.name\AppData\Local\Microsoft\Team Foundation\4.0\Cache\VersionControl.config решило проблему в моем случае.
Недавно у нас возникла странная проблема с TFS 2010. Мы потратили несколько дней, прежде чем мы это выяснили. Просто хочу поделиться своими знаниями о проблеме, которая может помочь другим людям.
Он работал до этого без проблем около 2 лет. Но внезапно, сборки начали с ошибкой со следующей ошибкой:
Построение проектов в этом решении по одному. Включить параллельной сборки, добавьте переключатель "/m". MSBUILD: ошибка MSB4017: Конструкция неожиданно остановилась из-за неожиданного регистратора отказ. Microsoft.Build.Exceptions.InternalLoggerException: сборка неожиданно остановился из-за неожиданного сбоя регистрации. --- > Microsoft.TeamFoundation.VersionControl.Client.VersionControlException: Файл кеша C:\Windows\System32\Config\systemprofile\AppData\Local\Microsoft\Team Foundation\3.0\Cache\VersionControl.config недействителен и не может быть загружен. Пожалуйста, исправьте или удалите файл. --- > System.NullReferenceException: ссылка на объект не установлена в экземпляр объекта. в Microsoft.TeamFoundation.VersionControl.Client.InternalCacheLoader.LoadConfig(InternalCache currentCache, Boolean dataDirectoryExists, InternalWorkspaceConflictInfo [] & conflictingWorkspaces) --- Конец внутренняя трассировка стека исключений Microsoft.TeamFoundation.VersionControl.Client.InternalCacheLoader.LoadConfig(InternalCache currentCache, Boolean dataDirectoryExists, InternalWorkspaceConflictInfo [] & conflictingWorkspaces)
Удаление содержимого папки Cache, упомянутое в сообщении об ошибке, не помогло.
В то время было два случая:
у сервера закончилось свободное пространство на диске C:
наши пользователи поддержки устанавливали обновления Windows, включая Service Pack 1 для TFS.
Некоторые из наших проектов были 32 бит, например Silverlight, который должен быть 32 бит, а еще 64. Однако наш сервер TFS имеет 64 бит. Чтобы правильно скомпилировать проекты, определения сборки должны указывать либо "Авто" (который выполняет компиляцию на 64 бита в качестве сервера TFS), либо "X86", который обеспечивает 32-битную компиляцию.
Те, которые являются X86, неожиданно начали с ошибкой, упомянутой выше.
РЕШЕНИЕ:
По-видимому, есть и другое расположение папки Cache: C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Microsoft\Team Foundation\3.0\Cache
Мы удалили содержимое этой папки, и все началось правильно.
BTW: он не имеет ничего общего с переключателем /m. Мы тоже пробовали, но это не помогло.
У меня была такая же проблема после предупреждения о низком диске.
Удаление/переименование файла C:\Users\user.name\AppData\Local\Microsoft\Team Foundation\4.0\Cache\VersionControl.config решило проблему в моем случае.
Очистить все папки кэша:
%WINDIR%\System32\Config\Systemprofile\AppData\Local\Microsoft\Team Foundation\3.0\Cache
%WINDIR%\SysWOW64\Config\Systemprofile\AppData\Local\Microsoft\Team Foundation\3.0\Cache
Team Explorer появился как подключенный к TFS. Но "Source Control Explorer" был помечен как отключенный.
удаление "C:\Users\user.name\AppData\Local\Microsoft\Team Foundation\4.0\Cache\VersionControl.config" также решило проблему. (Спасибо)
После того, как @mhu подразумевает, что каталоги TFS Cache
должны быть очищены, я выполнил полный поиск папок "Team Foundation" с подпапкой Cache на моем сервере сборки.
Затем я создал пакетный файл, который их удаляет. Мои сборки работали после этого script.
Имя файла: ClearTFSCache.bat
Содержимое файла:
@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
Здесь должны быть заменены две переменные: -
AAA_USERNAME
предназначен для текущего имени пользователя пользователя (на основе ручного входа на сервер). BBB_SERVICEACCOUNT
предназначен для учетной записи, используемой для запуска службы сборки TFS, доступной через консоль администрирования Team Foundation Server:
В моем случае это был "NetworkService".