将 Visual Studio 与 TFS 一起使用是否需要从 VS 到 TFS 的持久连接?

Does using Visual Studio with TFS require a persistent connection to TFS from VS?

我是一名 IT 项目经理。我团队中的一位开发人员抱怨说她总是失去与 TFS 的连接,并且 VS 需要与 TFS 的持续连接才能为她工作。我们的 CIO 问我为什么她不仅需要在签入和签出代码时连接到 TFS。我不知道答案。

谢谢, 瓦尔

TFVC,Team Foundation Version Control,是在 Team Foundation Server (TFS) 中存储源的方法之一,如果您的 TFS 服务是 2015 或更高版本,Git 是新的默认值。 TFVC 是一个集中式版本控制系统,并假定您的开发人员与服务器具有持久连接。当开发人员的工作空间配置为“服务器”工作空间时尤其如此,在这种情况下,每个文件系统操作都同步到中央服务器。

Workspace Type = Server 模式下,您的选项是:

  • 使用离线选项暂时断开与服务器的连接并在本地隔离工作。
  • Of 将工作区类型更改为 local,这会创建一个本地文件夹,其中包含工作区中每个文件的压缩副本。

这将减少与服务器的交互次数,使身份验证混乱时的工作更加愉快。但是开发人员应该定期检入和检出代码,最好是每次更改都能使代码处于稳定状态。即使像 checkin/checkout 这样的东西需要身份验证提示,我也会感到非常沮丧。

但你真正的问题

不是 TFS 是否提示身份验证,而是工作站或服务器基础设施不(允许)缓存凭据的原因。这可能有多种原因:

  • TFS 服务器未配置安全连接 (https)
  • TFS 服务器名称与服务器配置不匹配
  • 代理服务器正在干扰
  • 本地开发代理(如 Fiddler)已打开且未配置为忽略 TFS 服务器
  • Active Directory 策略强制不存储凭据
  • 电脑的TPM运行不正常,一直在重置
  • 有 VPN 干扰
  • 一些端点监控系统正在检测可疑行为并触发重新授权
  • Windows 凭据管理器中缓存了不正确的凭据。
  • TFS 服务器位于错误的互联网安全区域
  • Internet 安全区域设置配置为不存储凭据
  • ...
  • ...

解决这个问题,开发者会更开心。

而且 TFVC 变老了(大多数团队已经转移到 Git)

正如其他人已经评论的那样,TFVC 正在变老,许多开发团队已经迁移到 Git。 Git 为开发人员提供源及其历史记录的本地副本以供开发人员使用,从而为开发人员提供更多功能,使其无需连接到中央服务器即可在本地工作。

如果迁移不是一个选项(还),tools like git tfs 可以帮助开发人员开始在本地 Git 工作,同时仍然连接到中央 TFVC 服务器以将更改发送到团队的其他成员。

但长期的解决方案是升级您的开发工具并摆脱 TFVC。

TFS 变老了(现在是 Azure DevOps Server)

当您使用它时,TFS 正在变老。它已于 2018 年更名,现在称为 Azure DevOps Server。 Azure DevOps Server 2020 是最新的。如果您遇到 TFS 问题,确保它是最新的并安装在最新的 Windows 服务器版本上也有帮助。