In this article, we learn how to connect TFS (Team Foundation Server) or VSO (Visual Studio Online) using C#(csharp). We can create console application based on TFS API.
Before starting to working on authenticating TFS using C#, we required TFS Client library reference in the project. You can add the required library using a command in NuGet Package Manager.
Install-Package Microsoft.TeamFoundationServer.Client -Version 14.95.3
Install-Package Microsoft.VisualStudio.Services.Client -Version 14.95.3
NetworkCredential credential = new NetworkCredential("username", "password"); BasicAuthCredential basicCred = new BasicAuthCredential(credential); TfsTeamProjectCollection tpc = new TfsTeamProjectCollection( new Uri("https://project.visualstudio.com/DefaultCollection"), basicCred); tpc.Authenticate();
As per above code, we require valid username and password which is passed to NetworkCredential instance and also require valid TFS URL which you are trying to connect using C#.
We can authenticate a user with basic authentication mechanism without prompting for TFS login dialog, that’s why we have passed credential as an argument in a BasicAuthCredential object. Without basic authentication mechanism app prompt for login information.
TfsTeamProjectCollection instance accept two arguments 1) Default collection Url 2) Credential with basic authentication wrapper.
TfsTeamProjectCollection instance has authenticate() method which actually requests for authentication and returns result or exception based on the credential.