使用Visual Studio 2017或2019和AAD帐户从MSA支持的Azure DevOps克隆存储库

问题描述 投票:1回答:2

Microsoft已经引入了将AAD用户邀请到MSA支持的Azure DevOps帐户的选项。这对于将帐户从“非托管”转换为“托管”的公司来说非常有用,首先是将帐户所有权转移给AAD用户,然后以较慢的方式修复用户和许可混乱。

但是,当我尝试使用Visual Studio 2017或2019克隆存储库时,我收到了一条错误消息:

enter image description here

Git因致命错误而失败。身份验证失败:{remote-url}。

或者,取决于您拥有的Git凭据管理器版本:

错误:无法生成askpass:没有这样的文件或目录致命:无法读取'{remote-url}'的用户名:终端提示已禁用

从命令行克隆时,没有问题,之后,Visual Studio也可以使用生成的git存储库。

git visual-studio-2017 azure-devops visual-studio-2019 git-credential-manager
2个回答
1
投票

更新

最新版本的Visual Studio 2017(15.9.10+)现在包含Git Credential Manager的1.18.4版本,应该可以解决旧版本引起的许多问题。如果您需要更新版本的GCMfW,同样的技巧也适用于较新版本。


在与Chad Boles(在Visual Studio中维护Team Explorer)聊天之后,我们找到了另一个选项。这比覆盖Visual Studio安装中的文件更受欢迎,因为这可能会破坏未来的更新,并且可能导致将来难以调试问题。

  1. 您系统中的Install the latest GCMW-1.xx.xx.exe和/或更新到应包含GCM的最新版Git for Windows
  2. 更新您的全局git配置以指向Git凭据管理器的特定实现: c:\>git config --global --edit [credential]部分更新为: [credential] helper = C:\\\\Program\\ Files\\\\Git\\\\mingw64\\\\libexec\\\\git-core\\\\git-credential-manager.exe 确保路径指向可在系统上找到最新Git Credential Manager的位置。注意使路径在全局git配置中工作所需的所有转义。

0
投票

事实证明,Visual Studio 2017(截至15.9.7)和2019(预览3)仍然附带Git Credential Manager的1.17版,并且在可用时它们不使用全局安装的版本。

enter image description here

您可以在以下位置检查是否有“旧”版本:

C:\Program Files (x86)\Microsoft Visual Studio\2017\{EDITION}\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\libexec\git-core
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\libexec\git-core

如果他们是not on version 1.18.4, then they don't have the required fix for AAD authentication in MSA backed accounts

如果您的版本正确,您应该看到:

enter image description here

固定

这是官方不支持的,可能会产生不必要的副作用。但它对我有用;)。

要修复Visual Studio,您可以使用Git Credential Manager的最新发行版zip中的文件覆盖上述位置中的二进制文件:

enter image description here

每次升级到更新的更新/预览时,您都需要重新应用这些文件,直到Microsoft决定将最新版本作为Visual Studio的一部分发布,遗憾的是。 Visual Studio Installer将使用1.17版本顽固地覆盖它。

© www.soinside.com 2019 - 2024. All rights reserved.