2012-06-01 2 views
4

Когда я пытаюсь выполнить большинство действий в TFS или проекте с использованием TFS, например, добавить файл в проект, замораживается основной интерфейс.Visual Studio 2010 Замораживает при использовании TFS

Я просмотрел стек вызовов и, похоже, находится в тупике, проверяя, активен ли проект.

Я попытался загрузить полностью новую копию кода, но это не помогло.

Я использую VS2010 с установленным SP1.

Это вершина стеки вызовов для основного потока при замораживании после обновления моего Pending Changes

ntdll.dll!_Zw[email protected]() + 0x15 bytes 
[email protected]() + 0x15 bytes 
Tfsprovider.dll!NVseeFC::CCriticalSection::Lock() + 0x1d bytes 
Tfsprovider.dll!CSccManager::fIsSolutionFolderProject() + 0x3b bytes 
Tfsprovider.dll!CSccManager::IsActive() + 0x153 bytes 
Tfsprovider.dll!CVsSccUI::Exec_icmdSccRefreshStatus() + 0xbd bytes 
Tfsprovider.dll!CVsCommandTargetMap<CVsSccUI,IOleCommandTarget>::Exec() + 0x6a bytes 
Tfsprovider.dll!CVsCommandTarget<NVseePkgsVssProvider::CGridBarDialog,IxNull>::Exec() + 0x26 bytes 
Tfsprovider.dll!CVsSccPackage::Exec() + 0xa9 bytes 
Tfsprovider.dll!CVsSccHatHelper::RefreshStatus() + 0x3c bytes 
[Managed to Native Transition] 
Microsoft.VisualStudio.TeamFoundation.VersionControl.dll!Microsoft.VisualStudio.TeamFoundation.VersionControl.VssProvider.RefreshStatus() + 0x35 bytes 
Microsoft.VisualStudio.TeamFoundation.VersionControl.dll!Microsoft.VisualStudio.TeamFoundation.VersionControl.ToolWindowPendingCheckinsForm.Microsoft.TeamFoundation.VersionControl.Controls.IPendingCheckinHost.RefreshPendingCheckins() + 0x69 bytes 
Microsoft.TeamFoundation.VersionControl.Controls.dll!Microsoft.TeamFoundation.VersionControl.Controls.PendingCheckinsChannelControl.OnRefreshPendingCheckins() + 0x3d bytes 
Microsoft.TeamFoundation.VersionControl.Controls.dll!Microsoft.TeamFoundation.VersionControl.Controls.PendingCheckinsChannelControl.RefreshSelectedChannel() + 0x22 bytes 
Microsoft.VisualStudio.TeamFoundation.VersionControl.dll!Microsoft.VisualStudio.TeamFoundation.VersionControl.CommandHandlerPendingCheckins.Refresh_Exec(Microsoft.VisualStudio.TeamFoundation.CommandHandler handler, Microsoft.VisualStudio.TeamFoundation.CommandHandler.Command command, int commandId) + 0x13 bytes 
(Other calls removed, they don't look relevant) 

Кто-нибудь еще имело эту проблему, или знает о затруднительном для него?

ОБНОВЛЕНИЕ: Интерфейс возвращается к жизни после ожидания около 8 минут. За это время сервер TFS отправляет мне около 60 000 пакетов данных по сети.

ОБНОВЛЕНИЕ 2: Я исправил это путем ручного воссоздания файла SLN.

+0

Вы установили TFS 2010 SP1, правильно? – AMissico

ответ

3

Эта проблема с блокировкой была, к сожалению, проблемой «по дизайну». В Visual Studio 2010 Team Explorer (и множество других компонентов VS) будет выполнять множество операций синхронно и блокировать поток пользовательского интерфейса в оболочке Visual Studio во время обработки, особенно в операциях управления версиями.

Создание операции управления источником асинхронной была один из целей проекта в Visual Studio 2012 - http://blogs.msdn.com/b/bharry/archive/2011/09/01/wrapping-up-tfs-11-version-control-improvements.aspx

Смежные вопросы