我最近在客户端升级到VS 2015(更新3),在服务器端升级到TFS 2015(更新3)。Git操作一开始正常工作,但是当我尝试克隆一个git存储库时,出现以下错误:
Error encountered while cloning the remote repository: An error occurred while sending the request.
Inner Exception:
The remote server returned an error: (401) Unauthorized.
Inner Exception:
No credentials are available in the security package
但我可以在浏览器中轻松地导航到仓库,没有任何问题。然后,我想这可能是由于我的客户端设置。我尝试删除VS缓存以及TFS缓存。但是都没有起作用。当我使用Fiddler时,它显示了以下信息:
它显示了以下信息:
Request 1:
GET https://myhost/tfs/transact/Transact/_git/MY-REPO/info/refs?service=git-upload-pack HTTP/1.1
User-Agent: git/1.0 (libgit2) Team Foundation (devenv.exe, 14.102.25521.0, Enterprise, SKU:37)
Host: myhost
Accept-Encoding: gzip
Connection: Keep-Alive
Response 1:
HTTP/1.1 401 Unauthorized
...
Request 2:
GET https://myhost/tfs/transact/Transact/_git/MY-REPO/info/refs?service=git-upload-pack HTTP/1.1
User-Agent: git/1.0 (libgit2) Team Foundation (devenv.exe, 14.102.25521.0, Enterprise, SKU:37)
Accept-Encoding: gzip
Authorization: NTLM TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAKAEM6AAAADw==
Host: myhost
Response 2:
HTTP/1.1 401 Unauthorized
通过这些信息,我在我的Visual Studio文件夹中搜索了libgit2*.*文件。我找到了几个LibGit2Sharp.dll的实例。它们所有的版本都相同(0.22.0.0),但其中一个实例的版本为14.0.25029.0。我尝试将版本0.22.0.0覆盖到14.0.25029.0上。但是,在visual studio启动时,它抱怨了。包含14.* 版本的文件夹位于“C:\Program Files(x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions”文件夹中,其中包含几个以“Microsoft.TeamFoundation。”开头的dll。所有这些dll的版本都是14.102.25521.0(这就是我在Fiddler跟踪中发现的版本)。看起来我找对了问题所在,但不确定如何解决错误。有什么想法吗?