We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

Creating Project Types

You can extend Visual Studio by creating a new project type. To create a new project type, you must understand several concepts and complete a number of steps. The following topics provide an overview of how to create project types.

Project Type Design Decisions

Discusses the item, project file persistence, and commitment mechanic design decisions that you have to make before creating a new project type.

Checklist: Creating New Project Types

Provides an overview of the steps that you must follow to create a new project type that supports programming tasks as editing code and compiling, building, debugging, and deploying applications in your project.

Creating Project Instances By Using Project Factories

Provides information about how to provide and use a project factory to create instances of a new project.

Registering a Project Type

Provides code samples of statements from the registry that provide default paths and data, and a table that contain entries from the registry script for each statement.

Project Persistence

Discusses the use of IPersistFileFormat to persist both file and non-file-based project objects.

Using MSBuild

Describes how your project type can use the MSBuild build engine to let users build from Visual Studio and at the command line.

Automation Model

Describes a secondary method of extending Visual Studio.

Supporting Symbol-Browsing Tools

Explains the architecture of code viewing tools such as the Object Browser and Class View window. Describes the interfaces and methods that are used to implement object browsing in a VSPackage.

Adding Project and Project Item Templates

Discusses the significance that projects play in determining which editor is used when a project item is opened and how project resources can be manipulated.

Installing VSPackages By Using Windows Installer

Shows how to give your VSPackage its own unique identity and how to wrap your VSPackage DLLs and other information in a Windows Installer package (.MSI file) for deployment to your customers.

Hierarchies in Visual Studio

Describes how Visual Studio views and addresses hierarchies.


Provides an overview of a VSPackage, an installable COM object that extends the Visual Studio environment and discusses how to implement your own VSPackage.

Project Types

Discusses how to use projects to modify code, compile and build code, and run and debug code, and provides links to detailed topics about how to create project types.