Project Subtypes


This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

Project subtypes let you customize or flavor the behavior of the project systems of Visual Studio. Customizations include saving additional data in the project file, adding or filtering items in the Add New Item dialog box, controlling how assemblies are debugged and deployed, and extending the project Property Pages dialog box. VSPackages implement project subtypes using COM aggregation.


The Visual C++ project system does not support project subtypes. Visual Studio itself uses project subtypes to implement SQL Server and Smart Device projects.

In This Section

Project Subtypes Design
Describes the concept of project subtypes.

Initialization Sequence of Project Subtypes
Describes the programmatic project subtype initialization sequence by Visual Studio environment.

Properties and Methods Extended by Project Subtypes
Provides detailed descriptions of the features and methods most frequently extended by using project subtypes.

Persisting Data in the MSBuild Project File
Describes how to persist data in a project file and how to use IPersistXMLFragment to maintain the data in the project file across the project subtype aggregation levels.

Project Property User Interface
Describes how project subtypes can modify the project Property Pages dialog box.

Extending the Object Model of the Base Project
Provides information about how project subtypes can use Automation Extenders to extend the automation object model.

Contributing to the Add New Item Dialog Box
Describes how to add items to the Add New Item dialog box.

Saving Data in Project Files
Explains how a project subtype can save and retrieve subtype-specific data in the project file by using the Managed Package Framework (MPF).

Handling Specialized Deployment
Explains how project subtypes can supply specialized deployment behavior by implementing the IVsDeployableProjectCfg interface.

Adding and Removing Property Pages
Describes adding and removing property pages in Project Designer.

Project Types
Provides links to topics detailing Visual Studio projects.