2012-11-06 63 views
8

我正尝试从.NET上编写的Windows服务访问https://visualstudio.com(以前称为https://tfs.visualstudio.com,http://www.tfspreview.com)。如何使用.Net Windows服务中的新基本身份验证向Visual Studio Team Services进行身份验证?

我想使用新的基本身份验证,但我找不到办法做到这一点。

我发现了很多指向博客文章Team Foundation Service updates - Aug 27的链接,但它使用的是适用于TFS的Team Explorer Everywhere Java客户端。

是否有支持基本认证的TFS .NET对象模型的新版本?

顺便说一下,我已经连续登录服务帐户。 This answer非常有用。

回答

12

首先,您至少需要在机器上安装Visual Studio 2012 Update 1。它包括一个更新的Microsoft.TeamFoundation.Client.dll装配与BasicAuthCredential类。

下面是它的代码,从Buck's blog post How to connect to Team Foundation Service

using System; 
using System.Net; 
using Microsoft.TeamFoundation.Client; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      NetworkCredential netCred = new NetworkCredential(
       "[email protected]", 
       "yourbasicauthpassword"); 
      BasicAuthCredential basicCred = new BasicAuthCredential(netCred); 
      TfsClientCredentials tfsCred = new TfsClientCredentials(basicCred); 
      tfsCred.AllowInteractive = false; 

      TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(
       new Uri("https://YourAccountName.visualstudio.com/DefaultCollection"), 
       tfsCred); 

      tpc.Authenticate(); 

      Console.WriteLine(tpc.InstanceId); 
     } 
    } 
} 
+3

请注意,这需要一个“https:”连接。 – 2014-07-28 20:36:34

+1

我一直有麻烦得到这个工作 - 显然,当您使用您的Microsoft帐户凭据提供的值将无法按预期工作。要针对VSO 2015进行身份验证,我必须启用“备用凭据”,以便我可以将用户名更改为非电子邮件地址格式。之后,此代码工作正常。 – Volkirith

+0

与Volkirith一致。这不适用于VS2015现在需要先备用凭据设置,然后才能真正运行它。 – afr0

相关问题