我正在尝试连接我的TFS帐户
https://xxx.visualstudio.com/DefaultCollection
如果我尝试通过浏览器,我可以访问它。我的Windows凭据和TFS凭据是相同的。我正在尝试使用我的Windows凭据以编程方式登录到TFS。
我使用的库是: - Microsoft.TeamFoundation.Client(版本14.0.0,Framework版本4.6.0)
我不确定是否还需要做其他事情,或者这还不够?在web.config或app.config或其他任何地方要做的事情? 最令人讨厌的是,在同一个解决方案的旧项目中,一切似乎都是一样的,而且工作正常。
获得例外: -
TF30063:您无权访问https://xxx.visualstudio.com/DefaultCollection。
代码: -
public TfsTeamProjectCollection ConnectionVSO { get; set; }
public TFSRepository()
{
var uri = new Uri("https://xxx.visualstudio.com/DefaultCollection");
try
{
var credentials = new AadCredential();
var clientCredentials = new TfsClientCredentials(credentials) { AllowInteractive = false };
TfsTeamProjectCollection teamProjectCollection = new TfsTeamProjectCollection(uri, clientCredentials);
if (teamProjectCollection != null)
{
teamProjectCollection.EnsureAuthenticated();
}
ConnectionVSO = teamProjectCollection;
}
catch (Exception ex)
{
}
}
我确信我错过了一些东西。但不确定是什么? :(
答案 0 :(得分:0)
您正在尝试连接到VSTS,如果您存储了凭据,则您的凭据应存储在Web凭据而非Windows凭据中。
您可以创建VssConnection实例以获取REST服务的HttpClients,或者创建TfsTeamProjectCollection实例以使用SOAP对象模型来验证VSTS。您可以使用以下方法来实现它:
答案 1 :(得分:0)
根本不是代码问题。一切都很好。这是我的代码存储库的问题。我更改了我的代码在硬盘上的映射路径,并获得了最新的代码,它工作。奇怪但真实:( !!现在很好。