排查项目连接问题
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
排查连接问题
若要解决连接问题,请完成以下步骤:
- 注销浏览器。 为此,请选择 Visual Studio 注销 链接。
- 在浏览器中删除 Cookie。 若要在大多数浏览器中删除 Cookie,请选择 Ctrl+Shift+Delete。
- 打开 Microsoft Edge 并删除浏览器 Cookie。 Visual Studio IDE 使用 Microsoft Edge Cookie。
- 关闭所有浏览器并关闭 Visual Studio IDE。
- 使用专用浏览器会话重试连接。 如果问题与 Visual Studio IDE 有关,请删除连接,然后在团队资源管理器中读取连接。
有关更多故障排除选项,请参阅 本文中的“切换组织”。
登录疑难解答
两种类型的标识可以登录:Microsoft帐户和 Microsoft Entra 帐户。 根据你的帐户,可能会遇到以下错误。
401 - 未授权
最常见的错误页是 “401 未授权 ”错误,当标识无权输入组织时发生此错误。 请参阅此错误的以下常见原因:
- 标识不是组织的成员。
- 你的标识具有无效或缺少许可证分配。
- 标识没有足够的成员身份来访问资源。 例如,“读者/参与者”组的成员身份。
- 你的标识是租户中的 B2B 来宾,并且不接受邀请。
如果你认为你是组织的成员,但收到此错误页, 请联系支持人员。
方案 1
你的工作或学校Microsoft Entra 帐户没有访问权限,但你的个人Microsoft帐户没有访问权限。
401 - 工作或学校或个人帐户
特定性高的 401 错误情况。 在这种情况下,存在具有相同登录地址的个人Microsoft帐户和工作或学校帐户(Microsoft Entra ID)。 使用工作或学校帐户登录,但个人帐户是有权访问组织的标识。
缓解措施
在某些情况下,你可能不知道你有两个具有相同登录地址的标识。 当你添加到 Office 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 - 工作或学校或个人帐户
缓解措施
重定向回原始登录页时,建议清除所有 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 连接问题
下面是最常报告的连接问题以及它们要执行的操作的列表。 按照指示的顺序完成列表。
- 验证你是否具有所需的权限。 如果收到的错误指示只读或阻止的操作,则可能无权对数据执行操作。
- 验证计算机是否已连接到网络,以及它是否可以访问网络资源。
- 验证 Azure DevOps Server 是否未脱机。 请与 Azure DevOps Server 管理员联系。
- 检查项目是否已移动到 Azure DevOps Server 中的另一个项目集合。 如果已移动,则必须创建与新服务器名称的连接。
- 验证是否使用的是 受支持的 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 配置发生更改(例如移动或拆分项目集合时),请清除缓存。
使用要清除其缓存的用户的凭据登录到 Azure DevOps Server 的客户端计算机。
关闭 Visual Studio 的任何打开实例。
打开浏览器并转到以下文件夹之一,具体取决于计算机运行的操作系统:
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
删除缓存目录的内容,包括所有子文件夹。