11

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

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

我以前从未遇到过类似的问题,昨天一切正常。从那以后,我不知道有任何配置更改,而且我是公司中唯一遇到此问题的人。

我不认为为什么会发生这种情况有直接的答案,但是有人可以提供有关如何进行调试和解决此类问题的任何指示吗?

到目前为止,我已经尝试了各种运行 get 命令的方法——最新版本、特定版本、地图 + 获取最新版本,无论是在 VS IDE 内部还是通过命令行。此外,许多其他 TFS 命令似乎运行良好。

编辑:

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

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

4

6 回答 6

8

我在 TFS 上遇到了同样的问题,它会挂起并变得无响应。

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

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

我将限制设置为 1000,因为我仔细观察了资源监视器中的值,尽管说实话我从来没有超过 600 个并发连接。

于 2013-02-19T13:25:48.170 回答
3

所以发生的情况是 VS 2012 中的 TFS 客户端存在一个错误,导致它在对大量文件运行 get 命令时,在进入进程一段时间后开始对所有文件超时

正如下面的 MS Connect 票证中所述,目前的解决方法是使用较旧的 TFS 客户端来运行超时命令。我成功地使用 VS 2010 命令行 TFS 客户端来完成项目。

于 2012-10-16T06:16:36.920 回答
2

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

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

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings EnableCompression(REG_SZ)=”false”</p>

于 2013-04-03T14:19:07.413 回答
2

我遇到了类似的问题。更改工作区对我有用,即我删除了旧工作区并创建了一个新工作区,在其中我再次映射了所需的项目,它就像一个魅力!

于 2014-08-19T10:57:29.450 回答
1

在这里也一样,你很有耐心!在我取消获取最新进程并等待很长时间后,我还从源代码管理资源管理器中收到“TF400324:无法从服务器 xyz 获得 Team Foundation 服务。技术信息(针对管理员):操作超时”错误。可能不是文件数量,而是数据量?它在传输大约 2GB 数据后挂起,这正是 32 位有符号整数溢出的时候,但这只是一个怀疑。门票:https ://connect.microsoft.com/VisualStudio/feedback/details/776506/source-control-explorer-getlatest-hangs-after-certain-amount-of-data-transferred-might-be-integer-overflow#标签

于 2013-01-14T19:17:47.630 回答
0

我注意到,当我使用新的 WorkFolders 映射作为参数调用 CreateWorkspace 方法时,它开始将所有文件(映射到 $/)下拉到本地,这将解释较长的处理时间 - 更改为 CreateWorkspace,WorkFolders 为 null,而不是添加下一步似乎做把戏

于 2015-06-01T19:45:49.393 回答