Supporting Source Control

Visual Studio supports file checkouts, check-ins, and other source control operations for your project or editor. As a source control client, Visual Studio is designed to interact with a source control package, such as Visual SourceSafe, which provides archiving, versioning, and control facilities for a dynamically defined set of files.

Model for Source Control Packages

Describes the interfaces a project type must implement to support source control.

Source Control Design Decisions

Provides questions whose answers change how you implement a project type.

Source Control Configuration Details

Describes how supporting source control changes the implementation of a project type.

Additional Source Control Guidelines for Projects and Editors

Discusses best practices for project types and editors.

Source Control Runtime Details

Describes how to register a project when a user adds it to a source-control system.


Indicates to the environment or source control package that a file is about to be changed in memory or saved.


Allows projects and hierarchies to register themselves with source control and obtain information about source control status.


Implemented in a project system to provide source control for project files and project items.


Used by projects to query the environment for permission to add, remove, or rename a file or directory in a solution.


Notifies clients of changes that were made to project files or directories.

Project Types

Provides an overview of projects as the basic building blocks of the Visual Studio integrated development environment (IDE). Links are provided to additional topics that explain how projects control building and compiling code.

Community Additions