This documentation is archived and is not being maintained.

Essentials of Source Control Extensibility

Visual Studio 2008

The version control object model is the public programming interface to the version control components of Team Foundation Server.

The version control object model is the same programming interface that is used by Team Explorer to create its native functionality. The main purpose of the version control object model is to provide a programming interface for the version control in functionality of Team Foundation Server.

The Work Item Object Tracking Model is an abstraction layer that you find on any computer on which you have installed Team Explorer. In order to programmatically use Team Foundation Server version control features, you must program against the version control object model.

The root node of the version control object model is the VersionControlServer that represents the Team Foundation Server server, and Client.Workspace that represents an individual user's workspace. Any functionality that is a server-level operation, such as history on a particular item, is accessed through the VersionControlServer object. Workspace operations, such as a pending a rename or a branch operation, are accessed through the Workspace.

For more information, see Source Control Architecture.