TFS 签入包含“较大”二进制文件的变更集超时

2023-11-23

我正在执行从 tfs.visualstudio 到本地 2012 服务器的 TFS 集成迁移。我遇到了一个特定变更集的问题,该变更集包含多个超过 1 MB 的二进制文件,其中一些文件大小为 15-16 MB。 [我正在使用本地 TFS 进行远程 (WAN) 工作]

从 TFSI 日志中,我看到:Microsoft.TeamFoundation.VersionControl.Client.VersionControlException: C:\TfsIPData\42\******\Foo.msi: The request was aborted: The request was canceled. ---> System.Net.WebException: The request was aborted: The request was canceled. ---> System.IO.IOException: Cannot close stream until all bytes are written.

通过谷歌搜索,我遇到了其他人遇到类似的问题,不一定与 TFS 集成有关。我相信,如果我只是像平常一样检查符合相同标准的变更集,也会出现同样的问题。据我了解,上传文件(签入)时,默认块大小为16MB,超时为5分钟。

我在这个网站上的互联网上传速度只有 1Mbit/s。 (虽然我认为通过足够的上传带宽可以缓解这个问题,但这并不能解决问题)。

使用 TCPView,我在上传过程中观察了客户端与 TFS 服务器的连接。我看到的是 9 个同时连接。因此,我的带宽被 9 个文件上传共享。果然,大约 5 分钟后,在上传字节计数完成之前,连接就中断了。

我的问题是,如何配置我的 TFS 客户端以利用更少的并发连接、和/或更小的块大小、和/或增加超时?这可以在全球某个地方完成以涵盖 VS、TF.EXE 和 TFS 集成吗?


在花了一些时间在 Microsoft.TeamFoundation.VersionControl.Client.dll FileUploader 中研究 IL DASM 后,我在构造函数中发现了字符串VersionControl.UploadChunkSize。看起来它是用来覆盖默认块大小(DefaultUploadChunkSize = 0x01000000)。

所以,我将其添加到 TfsMigrationShell.exe.config

<appSettings>
    <add key="VersionControl.UploadChunkSize" value="2097152" /> 
</appSettings>

并再次运行 VC 迁移——这次它解决了问题变更集!

基本上,TFS 客户端 DLL 将尝试同时上传多个文件(在我的例子中为 9 个)。您的上传带宽将在文件之间分配,如果任何单个文件传输无法在 5 分钟内完成 16MB,则操作将失败。因此您可以看到,在适度的上传带宽下,包含多个二进制文件的变更集可能会超时。您唯一可以控制的是每个 5 分钟超时块的字节数。默认值为 16MB,但您可以减少它。我把我的减少到 2MB。

我想这可以对 devenv.exe.config 执行,以在执行开发人员代码签入时处理相同的问题。希望这些信息能够帮助其他人并节省他们一些时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TFS 签入包含“较大”二进制文件的变更集超时 的相关文章

  • 将 Team Foundation Server (TFS) 与 Xcode 连接

    我是 Xcode 和 TFS 的新手 有人可以解释一下如何将 TFS 2013 与 Xcode 连接来维护存储库 或者给我一个从一开始就包含完整详细信息的链接吗 这个想法是使用 Git 作为版本控制 并将更改推送到 TFS 中托管的中央存储
  • TFS 2015 v.Next 构建:并行解决方案构建?

    在 TFS v Next 构建中 可以进行并行构建 但是 我认为它只适用于构建多个configurations platforms在平行下 看this https stackoverflow com questions 32116348 p
  • TFS分行拒绝前往

    我们使用的是 TFS 2010 使用的客户端是 VS 2008 VS 2010 和 VS 2012 我使用 VS 2010 功能来查看 TFS 层次结构功能 以可视化我的 TFS 分支设置并对其进行维护 问题是 一旦分支上的工作完成 我右键
  • WIQL 查询获取项目中的所有团队和用户?

    let s say i have a project name Scrum and that has some users the project and got sprints so i want dstinct users of the
  • 使用 VS2010 Professional 从 TFS 在线删除项目(TFSDeleteProject 不在我的计算机上!)

    我有 Visual Studio 2010 Professional 并且一直在 Visualstudio com 上使用 TFS 服务 我读了这个问题及其答案 https stackoverflow com questions 13635
  • 阻止 Visual Studio 在启动时连接到 Team Foundation Server

    Visual Studio 在启动时自动尝试连接到 Team Foundation Server 但有时当您频繁更改 TFS 服务器时 Visual Studio 会在尝试连接到上次使用的 TFS 时花费很长时间超时 如何禁用此功能 您可以
  • TFS/Visual studio 2010:清除 Visual Studio 2010 中 TFS 的缓存密码,需要它要求我再次登录

    我使用的是 Windows 7 安装了 TFS Server 并从 VS 2010 安装连接到它 它提示我输入密码 因此我输入了管理员密码 一切顺利 现在我将自己添加为用户 但我无法让它要求我再次登录 它正在记住 缓存 密码 因此它总是以管
  • 本地门控签入失败,并显示“无法找到搁置集...无法签入”

    我在使用新的 TFS 2015 Update 2 门控版本时遇到问题 在尝试签入门控构建队列后 构建的每个部分都会成功 直到到达 签入门控更改 的最后一步 当我查看该步骤的日志时 我得到 Error The shelveset Build
  • 如何在工作项更改事件中获取对 TFS 工作项的引用?

    看起来这非常简单 但我正在努力寻找我需要的东西 我正在实现一个 TFS 2013 事件处理程序 并且只想获取对引发更改事件的工作项的引用 获取标题似乎很容易 但我在事件签名对象中找不到属性或方法来为我提供对 WorkItem 对象的引用或查
  • 如何将/ff分支提升到HEAD

    我有一个受保护的分支 只有在集成构建上的集成构建通过后 才应提升 快进该分支 我目前尝试通过在集成分支的拉取请求上构建集成来解决这个问题 一旦成功 只需将发布分支快速转发到集成分支的尖端 但是 当我在 TFS 构建系统上构建分支时 它将检出
  • TFS自定义签入策略调试

    我创建了一个自定义签入政策 如下面的链接所示 http msdn microsoft com en us library bb668980 aspx http msdn microsoft com en us library bb66898
  • 如何获取 TFS 2013 中所有用户的列表

    我正在使用 Team Foundation Server TFS 2013 和 Visual studio 2012 我需要 TFS 中所有用户的列表 有没有办法使用C 获取TFS中的所有用户 从TFS 2010获取用户列表 您可以尝试使用
  • Team Foundation Server:将工作项分配给组而不是单个用户

    在 TFS 2010 中 是否有一种方法可以将工作项分配给组 即开发人员或设计人员 而不是单个用户 我还希望能够创建一个查询 以便我们也可以对该组进行过滤 是的你可以 如果您的组是可分配到的较大组的成员 那么它将显示在可分配用户的列表中 例
  • 从TFS迁移到GIT,共享项目到nuget

    我所在的软件团队由 4 5 名开发人员组成 他们从事一个 TFS 项目 我们正在考虑将整个代码库移至 GIT 该代码库由约 50 个 Visual Studio 2013 解决方案组成 分为约 300 个项目 引用项目中另一个程序集的首选过
  • 通过 PowerShell 对 TFS 构建进行排队

    TFS2012 具有一个 2010 构建控制器和一个 2010 构建代理 还有一个 2012 构建控制器和多个 2012 构建代理 我们的软件有多个版本的多个版本 构建根据约定命名 例如Foo version 1 0 和 Foo versi
  • 解决方案文件的修改权限

    我有用VS2005开发的项目解决方案 它绑定到 TFS Team Foundation Server 我想将解决方案转换为 VS2008 版本 保持绑定不变 但是在转换时出现错误 错误信息 解决方案文件 C abc abc sln 无法转换
  • TFS 自动构建:Nuget Pack 失败并显示代码(1)

    我正在尝试在 TFS 中为 WPF 项目实现自动构建 自动构建效果很好 但我无法为该项目准备 nuget 包 这是我在 TFS 中的构建过程 如果我删除 NuGet 包和 NuGet 推送 它就可以正常工作 以下是我通过 TFS 收到的消息
  • Git 到 TFS 源代码管理迁移

    我想看看 TFS 如何为我的命令工作 所以我想将我们当前的 GIT 存储库移动到 TFS 数据库 我们使用 GIT 来获得普遍的分支支持 因此我想使用 TFS 2010 来解决该问题 现在的问题是 如何将 GIT 存储库导出到 TFS 显然
  • 源代码管理无法启动手动合并工具,为什么?

    我曾经执行过tf 合并 Alpha Dev Alpha Main recursive从命令提示符将更改从 Dev 分支合并到 Main 分支 在发生冲突时 它会显示 解决冲突 窗口 我们可以通过选择选项手动解决冲突在合并工具中合并更改 直到
  • 从 TFS 2010 就地迁移到 TFS 2015

    我对从 Team Foundation Server 2010 就地升级到 Team Foundation Server 2015 有疑问 我们目前的情况包含以下软件版本 Windows Server 2008 R2 SQL Server

随机推荐

  • Numpy - 将行添加到数组

    如何向 numpy 数组添加行 我有一个数组A A array 0 1 2 0 2 0 如果 X 中每行的第一个元素满足特定条件 我希望从另一个数组 X 向该数组添加行 Numpy 数组没有像列表那样的 追加 方法 或者看起来是这样 如果
  • 如何使用javascript检查页面是否是第一次加载

    我想检查页面是否是第一次加载 如果是 则显示过滤器 如果我将 showFiltermenu 放在 pageLoad 函数中 那么每次加载页面时它都会显示 但我只想它第一次显示 我尝试使用Page IsPostBack但不显示过滤器
  • 在 Ruby 中抓取/解析 Google 搜索结果

    假设我有 Google 搜索结果页面的完整 HTML 有谁知道任何现有的代码 Ruby 来抓取 解析Google搜索结果的第一页 理想情况下 它可以处理可能出现在任何地方的购物结果和视频结果部分 如果没有 那么基于 Ruby 的最佳屏幕抓取
  • Visual Studio Code 抱怨它“找不到 *.d.ts 文件中定义的类型的命名空间”

    我使用创建了一个新项目吞咽角Yeoman 生成器 语言设置为 TypeScript 然后运行Gulp构建过程并在网络浏览器中打开页面 所有这些都正常运行 没有任何更大的问题 我只需要更换ref master in the tsd json
  • Android:同时进行平移和旋转动画

    我想以编程方式同时显示两个动画 而不是在 XML 文件中 它应该旋转和平移我怎样才能做到这一点 请给我一些建议 这是妈妈的代码 gt ImageView snowImg1 ImageView findViewById R id snowim
  • 如何在 QPlainTextEdit 中为突出显示的字符串创建工具提示

    我有一个 QPlainTextEdit 并且其中突出显示了一些单词 现在我希望当我用鼠标悬停在它上面时 它会向我显示一个工具提示 其中包含有关此突出显示单词的描述或类似内容 在 QT IDE 中类似这样 但我不知道如何开始这个所以任何想法
  • 可变长度与 Malloc 数组

    根据c99标准 我们可以编写以下代码 这是完全合法的 int x scanf d x int ar x 我的问题是 如果我可以分配这样的数组 为什么我需要 malloc 再次分配可变大小的数组 另外 您能否解释一下可变长度数组分配是如何发生
  • 如何将具有历史记录的 SVN 存储库迁移到新的 Git 存储库?

    我阅读了 Git 手册 常见问题解答 Git SVN 速成课程等 它们都解释了这个那个 但你找不到像这样的简单说明 SVN 存储库位于 svn myserver path to svn repos Git 存储库位于 git myserve
  • 类定义之外不允许覆盖

    我创建了一个抽象类和一个具体子类 bca h include
  • 在 ASP.NET MVC 4 中获取复选框值

    我正在开发 ASP NET MVC 4 应用程序 这个应用程序有一个基本的形式 我的表单的模型如下所示 public class MyModel public string Name get set public bool Remember
  • 模板的编译是如何工作的?

    我正在读一本关于模板如何工作的书 但我很难理解模板的解释 It says 当编译器看到模板的定义时 它不会生成代码 仅当我们实例化模板的特定实例时 它才会生成代码 事实上 只有当我们使用模板时 而不是在定义模板时 才会生成代码 这一事实会影
  • 如何使用 ADO.NET 获取表中列的 SqlDbType?

    我试图在运行时确定 sql server 表列的 SqlDbType 是什么 是否有一个类可以在 System Data SqlClient 中执行此操作 或者我应该自己进行映射 我可以从那里得到一个字符串表示 SELECT DATA TY
  • 像 360 全景一样自动捕捉图像

    我正在开发类似于全景应用程序的应用程序 我想当设备从左向右移动时自动捕获图像 就像 360 全景应用程序一样 经过一些研究 我发现Sensor线程对此很有用 我已经看到了一些传感器的例子here但我无法理解如何使用传感器来达到我的目的 我也
  • 错误 ITMS-9000:“签名缺失或无效。

    错误 ITMS 9000 签名丢失或无效 捆绑包路径 Payload My app name app GooglePlus bundle 处的捆绑包 com google GPPSignIn3PResources 未使用 Apple 提交证
  • 将 Grails 应用程序转换为插件

    我通过 grails create app 启动了一个 grails 应用程序 为了模块化 我觉得组件最好是一个插件 我可以将此应用程序转换为 grails 插件吗 谢谢 巴布 我从未根据之前编写的应用程序创建过插件 但查看了Grails
  • 为什么浮动 div 和非浮动 div 的顺序仅在某些情况下才重要?

    我有类似的问题CSS 自动边距压低其他元素 右侧浮动侧边栏被推到主非浮动内容 div 下方 这answer建议的工作 只需颠倒标记的顺序并写出浮动 divbefore非浮动 div 例如 这个 div class container div
  • 如何向数组添加新元素?

    我有以下代码 String where where append ContactsContract Contacts HAS PHONE NUMBER 1 where append ContactsContract Contacts IN
  • 在张量流中多次运行 train op

    我有一些相当大的批量大小 我想对其采取多个梯度步骤 虽然我可以使用 python for 循环轻松完成此操作 但我想可能有一种更有效的方法 不需要在每次迭代时将数据传输到 GPU 我曾多次尝试将火车操作放入获取列表中 但我不确定它实际上是否
  • 在 Pandas 数据框中创建 value_counts 列

    我想从 Pandas 数据帧列之一创建唯一值的计数 然后将包含这些计数的新列添加到我的原始数据帧中 我尝试了几种不同的方法 我创建了一个 pandas 系列 然后使用 value counts 方法计算计数 我尝试将这些值合并回原始数据帧
  • TFS 签入包含“较大”二进制文件的变更集超时

    我正在执行从 tfs visualstudio 到本地 2012 服务器的 TFS 集成迁移 我遇到了一个特定变更集的问题 该变更集包含多个超过 1 MB 的二进制文件 其中一些文件大小为 15 16 MB 我正在使用本地 TFS 进行远程