TfsConfigurationServer.GetService<VersionControlServer>() always returns null

abatishchev picture abatishchev · Feb 24, 2011 · Viewed 11k times · Source

I'm trying to connect to TFS 2010 using TFS SDK, but can't get VersionControlServer service.

var servers = RegisteredTfsConnections.GetConfigurationServers(); // ok

then

var tfs = new TfsConfigurationServer(servers.First().Uri, CredentialCache.DefaultNetworkCredentials);
// or
var tfs = new TfsConfigurationServer(servers.First());

both always returns null:

var vc = (VersionControlServer)tfs.GetService<VersionControlServer>(); // null!

What should I do?

Answer

Jim Lamb picture Jim Lamb · Feb 24, 2011

You don't want the configuration server, you want the project collection. The version control service is scoped to a team project collection. For example:

var projectCollection =
    TfsTeamProjectCollectionFactory.GetTeamProjectCollection(registeredProjectCollection);

var versionControl = projectCollection.GetService<VersionControlServer>();

See also: Connect to a Project Collection