Visual Studio IDE Integration Overview (Classic Client)

A collection of information about Vault, including solutions to common problems.

Moderator: SourceGear

Post Reply
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear

Visual Studio IDE Integration Overview (Classic Client)

Post by dan » Wed Apr 14, 2004 8:50 am

Vault IDE Integration refers to the Vault DLL that Visual Studio loads in order to accomplish source control commands from within the IDE (Integrated Development Environment). Visual Studio provides an interface to source control commands that apply to any source control provider listed in the registry. Vault can be set as the default source control provider via the Vault GUI client Tools->Options dialog.

Prior to Visual Studio .Net, each of Microsoft’s IDEs were implemented by different teams at different times, so the way source control integration works is slightly different within each IDE. SourceGear officially supports only Visual Studio .Net 2003 and 2005, 2008 and 2010, plus Visual Basic 6.0, and Visual C++ 6.0. Other IDEs (Microsoft or not) that support the MCSCCI API may work, but SourceGear does not test or support any others.

General Problems and Guidelines
It is important to remember that Visual Studio controls how and when Vault is called from the IDE. Visual Studio issues source control commands to Vault, and Vault processes the information VS gives it. If a solution or project is not setup exactly how VS requires for working with source control, there will likely be problems with source control integration. See for information on how to setup a project in VS to work well with source control.

The best way to see whether a problem exists in the Vault part of the IDE integration is to test the same behavior against Visual SourceSafe. Even though SourceSafe enjoys a closer relationship with Visual Studio than 3rd party vendors are allowed, we attempt to work as well as SourceSafe does, and consider any differences in behavior a bug.

Microsoft Guides and Resources
Before using Vault as your source control provider for Visual Studio, make sure you read
Team Development with Visual Studio .NET and Visual SourceSafe

and for web projects:
Web Projects and Source Control Integration in Visual Studio .NET

which explain the general issues with source control and Visual Studio.

In the General Tips, Notes and Guidelines from those documents, the following points are especially important from Vault’s point of view:
  • Before adding a project or solution to Vault, ALL files and projects within the solution must be under the same working folder root. If they are not, they will get added to Vault with a lot of extraneous subfolders, as Visual Studio tries to find a common root folder between all the files and projects.
  • Create blank solutions, and then add your projects to them. Doing so organizes your project files on disk (working copy) as they will be organized in the source control database (master copy). Enforcing a parallel organizational scheme improves the long-term manageability of project files and makes it easier to perform certain advanced source control operations, such as branching and merging.
  • When adding a Web reference from an ASP.NET project to a Web service project on the same Web server, use an absolute path, such as http://servername/WebService1.
  • After a project is added to source control, the Web access method for a project should not be changed.
  • Use the Open From Source Control command on the Source Control submenu of the File menu the first time you open a Web project from source control. Thereafter, open the project like any uncontrolled Web project from your local disk.

Post Reply