Visual studio 2012 如何解决Visual Studio 2012挂起/锁定问题

Visual studio 2012 如何解决Visual Studio 2012挂起/锁定问题,visual-studio-2012,freeze,Visual Studio 2012,Freeze,我在VisualStudio中进行PHP开发,我的解决方案包含PHP、SSRS和SQLServer(SSDT)的项目。我使用TFS进行版本控制。因此,在我的开发环境中有很多事情可能会“出错” 我经历了间歇性挂起,通常一个剪辑大约5分钟。VisualStudio为我提供了等待光标,如果我单击VS中的任何位置,窗口将变暗。然后我只能等它结束。有时我可以结束devenv.exe任务,有时需要几分钟才能结束任务。如果我感到有耐心,我就等着,最终(大约5分钟)VS恢复生机。我从未经历过数据丢失、源代码管理

我在VisualStudio中进行PHP开发,我的解决方案包含PHP、SSRS和SQLServer(SSDT)的项目。我使用TFS进行版本控制。因此,在我的开发环境中有很多事情可能会“出错”

我经历了间歇性挂起,通常一个剪辑大约5分钟。VisualStudio为我提供了等待光标,如果我单击VS中的任何位置,窗口将变暗。然后我只能等它结束。有时我可以结束devenv.exe任务,有时需要几分钟才能结束任务。如果我感到有耐心,我就等着,最终(大约5分钟)VS恢复生机。我从未经历过数据丢失、源代码管理问题等,即使在终止进程时也是如此

有时候我存钱的时候会发生这种事。有时当我办理登机手续时。有时候我退房的时候。有时当我建造时。我一直无法辨别任何一种行为模式

我所有的工作站资源都很好-没有RAM、i/o、网络或CPU问题


我能做些什么来解决这个问题?我能在某种日志模式下运行VS吗?这种模式允许我确定在这些锁定期间花了这么长时间的原因是什么?

要在visual studio中打开日志,请运行:devenv.exe/log


我个人会使用快捷方式来实现这一点。

考虑删除从持续集成构建中遗留下来的旧TFS工作区定义

我们在大型Team Foundation Server项目树中也遇到了同样的问题。 有时,但并非总是,在VisualStudio2010或VisualStudio2012中打开解决方案将完全按照上述方式挂起。VS 2010是最脆弱的;VS 2012看起来不那么脆弱,但它仍然会被搁置

通过监视TFS服务器机器和底层SQL server机器上的服务器活动,我们能够获得一些线索。SQL Server中的某个查询存储过程使用了过多的CPU时间。我们将此存储过程名称跟踪到一个TFS操作,该操作涉及扫描TFS工作区定义以查找其他用户的文件签出

我们的TFS环境已经使用了3年多,我们一直在使用持续集成构建定义,使用“僵尸军队”的开发人员工作站作为TFS构建代理主机。我们还为主要版本创建新的TFS分支。每个分支包含大约20个独立的VisualStudio解决方案,它们有自己的构建定义

随着时间的推移,我们在每个开发人员工作站上积累了大约2000个TFS工作区定义。我们一次大约有10个工作站,它们有自己的定义

使用Visual Studio命令窗口并以TFS管理员身份运行,我们使用此命令来标识“生成用户”创建的所有工作区:

tf工作区/集合:tfservername\collectionname/owner:ourbuilduser>c:\tf\u ws\u del.bat

然后,我们使用全局替换和记事本++编辑器宏记录器将每个结果行转换为以下形式:


tf workspace/delete/collection:tfservername\collectionname workspacename;我们的BuildUser当调试选项中指定的符号服务器关闭或无法访问时,似乎也会发生这种情况。。。在这种情况下,它实际上不会挂起,但在每次文件访问超时时,它似乎会挂起


若要暂时解决此问题,请取消选中已关闭的符号服务器。

在安全模式下运行它以查看它是否是外接程序:
devenv.exe/SafeMode
您还可以尝试打开日志记录:denenv.exe/log@ta.speeot.is-如果我在安全模式下运行,我无法加载我的项目,因为它依赖于扩展来进行我的PHP开发。对于阅读此内容的其他人,您还必须在命令行中指定日志文件名,例如:devenv.exe/log c:\temp\vs.log(另请参见)这里有一个有用的链接。。。它的目标是VS2010,图像被破坏了,但这是我能找到的关于这个主题的最好的文章:VS hung。我看了一下日志,发现Layouts-o-rama扩展有很多错误。我禁用了那个扩展,从那以后就再也没有VS锁定了!如果未指定日志文件名,则默认日志文件位于:%APPDATA%\Roaming\Microsoft\VisualStudio\\ActivityLog.xml很高兴日志记录对您有所帮助。