繁体   English   中英

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

[英]Cloning repository from MSA backed Azure DevOps using Visual Studio 2017 or 2019 and AAD account

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

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

在此处输入图片说明

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

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

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

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

更新

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


在与 Chad Boles(在 Visual Studio 中维护团队资源管理器)聊天后,我们找到了另一个选项。 这比覆盖 Visual Studio 安装中的文件更可取,因为这可能会破坏未来的更新,并可能导致未来难以调试的问题。

  1. 在您的系统中安装最新的 GCMW-1.xx.xx.exe和/或更新到最新版本的Git for Windows ,其中应包含 GCM。
  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 配置中工作所需的所有转义。

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

在此处输入图片说明

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

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

如果他们不在版本 1.18.4 上,则他们没有在 MSA 支持的帐户中进行 AAD 身份验证所需的修复

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

在此处输入图片说明

使固定

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

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

在此处输入图片说明

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM