Visual studio 使用VS 2012和TFS 2008获取命令挂起(TFS错误TF400307)

Visual studio 使用VS 2012和TFS 2008获取命令挂起(TFS错误TF400307),visual-studio,version-control,tfs,visual-studio-2012,Visual Studio,Version Control,Tfs,Visual Studio 2012,今天,突然,我发现我无法成功地在我们的TFS上完成任何类型的get命令。进程在某个时刻一直挂起,当前处理的文件的进度条和状态消息永远保持不变,不会抛出错误。每次使用IDE和命令行实用程序时,都会在不同的文件上发生这种情况 我正在将Visual Studio Premium 2012与TFS 2008一起使用 我以前从未遇到过类似的问题,昨天一切都很顺利。从那时起,我没有意识到任何配置更改,我是公司中唯一遇到此问题的人 我不认为有一个直接的答案来解释为什么会发生这种情况,但是有人能提供一些关于如何

今天,突然,我发现我无法成功地在我们的TFS上完成任何类型的get命令。进程在某个时刻一直挂起,当前处理的文件的进度条和状态消息永远保持不变,不会抛出错误。每次使用IDE和命令行实用程序时,都会在不同的文件上发生这种情况

我正在将Visual Studio Premium 2012与TFS 2008一起使用

我以前从未遇到过类似的问题,昨天一切都很顺利。从那时起,我没有意识到任何配置更改,我是公司中唯一遇到此问题的人

我不认为有一个直接的答案来解释为什么会发生这种情况,但是有人能提供一些关于如何调试和解决这种问题的建议吗

到目前为止,我已经尝试了各种运行get命令的方法——最新版本、特定版本、map+get-latest,都是在VSIDE内部和通过命令行运行的。另外,许多其他TFS命令似乎工作正常

编辑:

经过一些尝试和错误,让这个过程持续一个小时左右,我终于在源代码管理输出窗口中偶然发现了错误消息。这些最初是不可见的,因为当进程挂起时,整个IDE都没有响应。消息都是一样的:

[文件路径]:TF400307:等待服务器响应599秒后,下载操作超时


因此,VS 2012中的TFS客户端有一个bug,导致它在运行get命令处理大量文件时,在进入进程一段时间后开始对所有文件进行超时处理

正如下面的MS Connect票证中提到的,目前的解决方法是使用较旧的TFS客户端来运行timeouting命令。我成功地使用VS2010命令行TFS客户机来完成项目的get


    • 同样,你很有耐心!我还得到了一个“TF400 324:Team Foundation Services不从服务器XYZ获得。技术信息(管理员):在我取消了最新的进程并等待了很久之后,该操作超时了”源代码管理资源管理器的错误。 它可能不是关于文件的数量,而是关于数据的数量?在传输了大约2GB的数据后,它就挂在我的头上了,这正是32位有符号整数溢出的时候,但这只是一种怀疑。
      票证:

      我与TFS有相同的问题,TFS会挂起并失去响应

      我通过使用以下配置值更新tf.exe.config或devenv.exe.config文件找到了解决方案:

      <system.net>
          <connectionManagement>
              <add address="*" maxconnection="1000"/>
          </connectionManagement>
      </system.net>
      
      
      

      我将限制设置为1000,因为我仔细观察了Resource Monitor中的值,但老实说,我从未获得超过600个并发连接。

      从TFS 2008获得VS 2012的最新版本时也面临同样的问题。使用调试器和Fiddler工具,我能够捕捉到VS挂起的时刻。当VS 2012接收到一些压缩的TFS服务器HTTP响应时,似乎出现了问题,它无法解压缩这些响应并挂起。在我关闭TFS HTTP流量的压缩后,VS不再挂起。希望它能帮助别人

      要关闭TFS压缩,请创建注册表值并重新启动VS:

      HKEY\ U当前\用户\软件\ Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings
      EnableCompression(REG_SZ)=“false”

      我面临类似的问题。改变工作区对我来说很有效,即我删除了旧的工作区并创建了一个新的工作区,在那里我再次映射了所需的项目,它就像一个符咒

      我注意到,当我使用newworkfolders映射作为参数调用CreateWorkspace方法时,它开始下拉所有文件(映射到$/)到本地,这可以解释长时间的处理-更改为CreateWorkspace,工作文件夹为空,而不是添加下一步似乎可以解决问题

      您是否碰巧安装了AVG或其他防病毒软件?我们在公司范围内使用ESET NOD32防病毒软件,而且使用时间很长,因此我认为这不是问题。正如我所说,我不知道有任何操作系统或软件配置的变化,因为它是工作在昨天。我们正在使用第三个:赛门铁克端点保护。我必须尝试标记为答案的技术。我们使用Diff而不是get Latest来解决问题。在更改TFS映射时再次偶然发现这个问题。我将它添加到我的程序文件\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe.config中,它似乎工作正常。肯定比使用旧的TFS更好的解决方案,我接受这个。