排查项目连接问题

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

排查连接问题

完成以下步骤以解决连接问题。

  1. 注销浏览器。 为此,请选择 Visual Studio 注销 链接。
  2. 在浏览器中删除 Cookie。 若要在大多数浏览器中删除 Cookie,请选择 Ctrl+Shift+Delete。
  3. 打开 Microsoft Edge 并删除浏览器 Cookie。 Visual Studio IDE 使用 Microsoft Edge Cookie。
  4. 关闭所有浏览器并关闭 Visual Studio IDE。
  5. 使用专用浏览器会话重试连接。 如果问题与 Visual Studio IDE 有关,请删除连接,然后在团队资源管理器中读取连接。

有关更多故障排除选项,请参阅 本文中的“切换组织”。

登录疑难解答

两种类型的标识可以登录:Microsoft 帐户和 Microsoft Entra 帐户。 根据你的帐户,可能会遇到以下错误。

401 - 未授权

排查 Azure DevOps 连接 401 错误 1

最常见的错误页是 “401 未授权 ”错误,当标识无权输入组织时发生此错误。 请参阅此错误的以下常见原因:

  • 标识不是组织的成员。
  • 你的标识具有无效或缺少许可证分配。
  • 标识没有足够的成员身份来访问资源。 例如,“读者/参与者”组的成员身份。
  • 你的标识是租户中的 B2B 来宾,并且不接受邀请。

如果你认为你是组织的成员,但收到此错误页, 请联系支持人员

方案 1

你的工作或学校 Microsoft Entra 帐户没有访问权限,但你的个人 Microsoft 帐户没有访问权限。

401 - 工作或学校或个人帐户

排查 Azure DevOps 连接 401 错误 2

特定性高的 401 错误情况。 在这种情况下,存在具有相同登录地址的个人 Microsoft 帐户和工作或学校帐户(Microsoft Entra ID)。 使用工作或学校帐户登录,但个人帐户是有权访问组织的标识。

缓解措施

在某些情况下,你可能不知道你有两个具有相同登录地址的标识。 将工作或学校 Microsoft Entra 帐户添加到 办公室 365 或 Microsoft Entra ID 时,管理员可能会创建工作或学校 Microsoft Entra 帐户。

若要注销当前工作或学校 Microsoft Entra 帐户,请选择 “使用个人 MSA 帐户登录”,然后使用个人 Microsoft 帐户登录。 进行身份验证后,你应该有权访问组织。

  • 如果无法访问组织,请确保你的 Microsoft Entra ID 仍然存在,并且你的工作或学校帐户位于 Microsoft Entra 租户中。

提示

若要避免出现此提示,可以重命名 Microsoft 帐户, 然后,只有一个标识、工作或学校帐户或 Microsoft Entra 帐户使用登录地址。

方案 2

个人 Microsoft 帐户没有访问权限,但 Microsoft Entra 帐户没有访问权限。 这种情况是 401 错误页面的相反版本。 在这种情况下,个人帐户(Microsoft 帐户标识)无权访问组织,工作或学校帐户(Microsoft Entra identity)也无权访问组织。 应用场景 1 中的同一指南适用,但情况相反。

401 - 工作或学校或个人帐户

排查 Azure DevOps 连接 401 错误 3

缓解措施

重定向回原始登录页时,建议清除所有 Cookie,然后重新尝试登录。 如果这无法解决问题, 请联系支持人员

无法连接到 Azure DevOps Services

问题 解决方法
你没有活动帐户或许可证。 请与管理员联系,确认你是帐户的成员,并拥有有效的许可证。 有关详细信息,请参阅 向用户分配许可证。
Azure DevOps Services 组织已连接到 Microsoft Entra ID。 当 Azure DevOps Services 组织连接到与 Microsoft 365 或 Microsoft Azure 订阅关联的目录时,只有目录中的成员可以访问该帐户。

请与目录管理员 联系,让他们为你创建组织帐户,或将帐户作为外部成员添加到目录中。
不能在不同的组织帐户之间切换。 如果与连接到不同目录的多个组织合作,例如从 Microsoft Azure 门户创建的帐户,则注销函数可能无法按预期工作。 例如,不能在不同的组织帐户之间切换,以连接到链接到目录租户的多个帐户。

出现此问题时,将多次看到一个闪烁的空白登录对话框。 然后,在连接到对话框中或添加新连接后,会收到TF31002或TF31003错误。

若要解决此问题,请应用最新的 Visual Studio 更新

有关详细信息,请参阅 无法在 Visual Studio Codespace 中的不同组织帐户之间切换。
你希望使用不同的凭据从 Visual Studio 登录到 Azure DevOps Services。 请参阅项目连接,使用不同的凭据登录。

排查 Azure DevOps Server 连接问题

下面是最常报告的连接问题以及它们要执行的操作的列表。 按照指示的顺序完成列表。

  1. 验证你是否具有所需的权限。 如果收到的错误指示只读或阻止的操作,则可能无权对数据执行操作。
  2. 验证计算机是否已连接到网络,以及它是否可以访问网络资源。
  3. 验证 Azure DevOps Server 是否未脱机。 请与 Azure DevOps Server 管理员联系。
  4. 检查项目是否已移动到 Azure DevOps Server 中的另一个项目集合。 如果已移动,则必须创建与新服务器名称的连接。

TF31002:无法连接

如果确定你从一台计算机收到此错误,但未收到其他计算机,或者其他计算机未收到此错误,则检查以下解决方法。

问题 解决方法
密码已过期。 验证是否已正确输入用户 ID 和密码,并且密码未过期。
输入的服务器 URL 不正确。 验证是否已正确输入服务器 URL,包括服务器名称、端口号和协议(http/https)。 有关详细信息,请参阅项目连接
配置已更改。 如果本地 Azure DevOps Server 的配置已更改,则必须创建新的连接。 可能还需要 清除客户端缓存
远程工作,需要连接到 Azure DevOps 代理服务器,以将文件中检查到 Azure DevOps Server 版本控制。 配置 Visual Studio 以连接到 Azure DevOps 代理
连接到的 Azure DevOps Server 版本比 Visual Studio 客户端版本更高。 Visual Studio 或团队资源管理器的版本可能与 Azure DevOps Server 不兼容。 可能需要安装一个或多个 GDR 包。 有关详细信息,请参阅 要求和兼容性
防火墙正在阻止 Azure DevOps 服务。 请参阅 “允许程序通过 Windows 防火墙进行通信”。
Visual Studio 在 Visual Studio 中运行查询时停止响应。 计算机可能配置为绕过代理服务器。 验证计算机上 BypassProxyOnLocal 设置的配置。 有关详细信息,请参阅 BypassProxyOnLocal 配置

多个用户无法连接到 Azure DevOps Server

如果此问题发生在多台计算机上,请与管理员联系,确认服务器是否在网络上正常运行且可用。

作为管理员,检查应用程序层服务器的事件日志,以尝试查明问题。 此外,可以使用下表来确定服务器配置错误。 在该表中,更可能出现的问题首先出现。 尝试按它们出现的顺序进行解决方法,从而增加快速解决问题的机会。

问题 解决方法
TFSService 帐户密码已过期或不正确。 Azure DevOps Server 的许多服务在服务帐户过期时停止运行。 有关详细信息,请参阅 更改 Azure DevOps Server 的服务帐户或密码。
Azure DevOps Server 的应用程序层服务器不可用。 验证每个必需的服务是否正在运行。 如果所需的服务未运行,则必须重启它。 如有必要,请将其设置为自动启动。 有关详细信息,请参阅 停止和启动服务、应用程序池和网站
网络不可用。 验证网络是否正常运行。
Azure DevOps Server 的网站标识配置不正确。 验证或更正为 Azure DevOps Server 的网站进行的服务器绑定分配。
对 Azure DevOps Server 的网站的访问权限受到限制。 验证或更正针对基于 IP 地址和域名的网站所做的限制。
防火墙或端口配置不正确。 验证或更正网站的端口绑定分配以及防火墙的端口分配。 首先,应打开 Azure DevOps Server 的管理控制台,显示应用程序层页,并查看 URL 分配。 如有必要,请选择“ 更改 URL ”以修改网站的 URL。 接下来,应验证 Internet Information Services(IIS)的端口分配以及通过防火墙允许的端口。 有关详细信息,请参阅查看服务器状态和设置验证或更正端口分配
域之间的信任关系未正确配置。 如果一组用户无法访问 Azure DevOps Server,则域之间可能存在信任问题。
当用户从 Visual Studio 连接到不同版本的 Azure DevOps Server 时,他们可能会收到TF31002错误。 发生此错误的原因是一个版本的 GUID 与另一版本的 Azure DevOps Server 相同。 本地客户端缓存变得困惑,因为它尝试为这两个版本维护相同的基于 GUID 的本地缓存。

若要修复,请运行 TFSConfig ChangeServerID 命令。 请参阅 TFSConfig ChangeServerID 命令

切换组织

使用链接到 Microsoft Entra ID 的两个或更多组织时,注销函数可能无法按预期工作。 例如,不能在不同的组织之间切换,以连接到链接到目录租户的多个组织。

出现此问题时,空白屏幕会闪烁多次。 然后,连接到 Azure DevOps Server 对话框中的连接或添加新连接后,将显示以下错误消息之一:

TF31003:你未输入必要的凭据,或者用户帐户无权连接到 Azure DevOps Server

TF31002:无法连接到此 Azure DevOps Server

若要解决此问题,请应用 Visual Studio 2013.2 或从 Visual Studio 下载网站安装更高版本。

另一种解决方案是删除浏览器 Cookie。 有关详细信息,请参阅支持文章 :无法在 Visual Studio Codespaces 中的不同组织之间切换。

使用安全套接字层连接到 Azure DevOps Server

如果连接到已配置安全套接字层(SSL)的 Azure DevOps Server 实例,请安装证书并清除客户端缓存。 有关详细信息,请参阅 为 Azure DevOps Server 设置具有安全套接字层 (SSL) 的 HTTPS - 配置客户端计算机

清除客户端计算机上的缓存

当本地 Azure DevOps Server 配置发生更改(例如移动或拆分项目集合时),请清除缓存。

  1. 使用要清除其缓存的用户的凭据登录到 Azure DevOps Server 的客户端计算机。

  2. 关闭 Visual Studio 的任何打开实例。

  3. 打开浏览器并转到以下文件夹之一,具体取决于计算机运行的操作系统:

    • Windows 10Drive:\Users<i>UserName\AppData\Local\Microsoft\Team Foundation\6.0\Cache

    • Windows 8Drive:\Users<i>UserName\AppData\Local\Microsoft\Team Foundation\4.0\Cache

    • Windows 7 或 Windows Vista驱动器:\Users<i>UserName\AppData\Local\Microsoft\Team Foundation\2.0\Cache

  4. 删除缓存目录的内容,包括所有子文件夹。