Default Project Templates in Visual Studio

When you create a new project, icons in the New Project dialog box and Add Project dialog box represent the available project types and their templates. Selecting an item from the Project types pane populates a list of project templates in the Templates pane. The project template you choose determines the output type and other options available for that project.

All project templates add the necessary files and references for the project type.

Templates by Category

The following tables list the default types of projects available in Visual Studio by category. Subcategories are indicated here in the format <Subcategory>/<TemplateName> where not otherwise specified. Some of the templates from various subcategories will also appear when the parent category is selected.

Note

Available templates may vary according to Visual Studio version, SKU, installation options, and other customizations. If you are missing a template that comes with your installation, run devenv.exe with the /installvstemplates switch. For more information, see How to: Restore Default Project Templates.

Visual Basic and C# Windows Templates

The following templates appear under the Visual Basic/Windows or Visual C#/Windows subcategories.

Project Template

More Information

Class Library

Use the Class Library template to quickly create reusable classes and components that can be shared with other projects. For more information about creating component classes, see Component Classes.

Console Application

Console applications are typically designed without a graphical user interface (GUI) and are compiled into an executable file. You interact with a console application by typing instructions at the command prompt.

Empty Project

The Empty Project template can be used when you want to create your own project type. The template creates the necessary file structure needed to store application information. Any references, files, or components must be added manually. For more information on adding references, see Adding and Removing References.

Windows Forms Application

This creates a traditional standalone Windows application or a rich front-end to a distributed Web application. For more information, see Creating Windows Applications or Creating a Windows Application Project.

Windows Forms Control Library

The Windows Control Library project template is used to create custom controls to use on Windows Forms. For more information, see Windows Forms Controls.

Windows Service

Windows Service Applications (formerly called "NT services") are long running applications that do not have a user interface. They can monitor items such as system performance. For more information, see Introduction to Windows Service Applications.

WPF Application

The WPF Application template creates a project that uses Windows Presentation Foundation. For more information, see How to: Create a New WPF Application Project.

WPF User Control Library

Creates a WPF User Control, which builds on the functionality of existing WPF controls. For more information, see How to: Create a WPF UserControl Library Project.

WPF Browser Application

Creates a WPF application that runs in the browser. This application model is named XAML Browser Application (XBAP). For more information, see How to: Create a New WPF Browser Application Project or Windows Presentation Foundation XAML Browser Applications Overview.

WPF Custom Control Library

Creates a project in which to build a custom WPF control. For more information, see Control Authoring Overview.

Visual Basic and C# Web Templates

The following templates appear under the Visual Basic/Web or Visual C#/Web subcategories.

Project Template

More Information

ASP.NET Web Application

Creates an ASP.NET web application, which generates html in response to client requests. For more information, see Control Authoring Overview.

ASP.NET Server Control

Creates a server control to be used in ASP.NET web applications. See Walkthrough: Developing and Using a Custom Web Server Control.

ASP.NET Web Service Application

Web services communicate XML data between applications. See XML Web Services Using ASP.NET and How to: Create ASP.NET Web Service Projects.

ASP.NET AJAX Server Control

ASP.NET AJAX server controls consist of server and client code that integrate to produce rich client behavior. For more information, see ASP.NET AJAX Overview.

ASP.NET AJAX Server Control Extender

ASP.NET AJAX extender controls enhance the client capabilities of standard ASP.NET Web server controls. For more information, see ASP.NET AJAX Extender Controls Overview.

WCF Service Application

Windows Communication Foundation (WCF) is a unified framework for creating secure, reliable, transacted, and interoperable distributed applications.

Dynamic Data Web Application

Dynamic Data is a framework that renders UI based on a data model. See Walkthrough: Creating a New ASP.NET Dynamic Data Web Site Using Scaffolding.

The Dynamic Data Web Application template is for applications that will use LINQ to connect to SQL.

Dynamic Data Entities Web Application

The Dynamic Data Entities Web Application is for applications that will use the ADO.NET Entity framework.

Visual Basic and C# Office Templates

The following templates appear under the Visual Basic/Office or Visual C#/Office subcategories, and may be further sorted into Version2003 and Version2007.

Most of the Visual Studio templates for Office create either Add-ins, which add functionality to their host application, or templates to be consumed by the host application.

For more information about developing Add-ins and other extensions for Microsoft Office applications, see Programming Application-Level Add-Ins

Project Template

More Information

Excel 2007 Add-in

Creates an Add-in for Excel 2007.

Excel 2007 Template

Creates a template for Excel 2007.

Excel 2007 Workbook

Creates a workbook for Excel 2007.

InfoPath 2007 Add-in

Creates an Add-in for InfoPath 2007.

InfoPath 2007 Form Template

Creates a form template for InfoPath 2007.

Outlook 2007 Add-in

Creates an Add-in for Outlook 2007.

PowerPoint 2007 Add-in

Creates an Add-in for PowerPoint 2007.

Project 2007 Add-in

Creates an Add-in for Project 2007.

SharePoint 2007 Sequential Workflow

Workflow templates manage the life cycle of documents and list items in a SharePoint Web site. This template creates a sequential workflow. SharePoint Workflow Solutions.

SharePoint 2007 State Machine Workflow

This template creates a state machine workflow. SharePoint Workflow Solutions.

Visio 2007 Add-in

Creates an Add-in for Visio 2007.

Word 2007 Add-in

Creates an Add-in for Word 2007.

Word 2007 Document

Creates a document for Word 2007.

Word 2007 Template

Creates a template for Word 2007.

Excel 2003 Add-in

Creates an Add-in for Excel 2003.

Excel 2003 Template

Creates a template for Excel 2003.

Excel 2003 Workbook

Creates a workbook for Excel 2003.

Outlook 2003 Add-in

Creates an Add-in for Outlook 2003.

PowerPoint 2003 Add-in

Creates an Add-in for PowerPoint 2003.

Project 2003 Add-in

Creates an Add-in for Project 2003.

Visio 2003 Add-in

Creates an Add-in for Visio 2003.

Word 2003 Add-in

Creates an Add-in for Word 2003.

Word 2003 Document

Creates a document for Word 2003.

Word 2003 Template

Creates a template for Word 2003.

Visual Basic and C# Workflow Templates

The following templates appear under the Visual Basic/Workflow or Visual C#/Workflow subcategories.

All of the templates in this section create projects that use Windows Workflow Foundation, except for those that specify SharePoint 2007. Windows Workflow Foundation enables model-driven workflow development, providing natural design visibility and hiding system-level concerns such as transactions, state management, and concurrency control.

For more information, see Windows Workflow Foundation Overview.

Project Template

More Information

Sequential Workflow Library

See How to: Create a Sequential Workflow Library.

State Machine Workflow Library

See How to: Create a State Machine Workflow Library.

Workflow Activity Library

See How to: Create a Workflow Activity Library.

Sequential Workflow Console Application

See How to: Create Sequential Workflow Console Applications.

State Machine Workflow Console Application

See How to: Create State Machine Workflow Console Applications.

Empty Workflow Project

See How to: Create an Empty Workflow Project.

SharePoint 2007 Sequential Workflow

See SharePoint Workflow Solutions.

SharePoint 2007 State Machine Workflow

See SharePoint Workflow Solutions.

Other Visual Basic and C# Templates

The following templates appear under other subcategories of the Visual Basic and Visual C# nodes, as indicated.

Project Template

More Information

Smart Device/Smart Device Project

Creates a project to run on a Windows CE device, such as a Pocket PC or Smart Phone. For more information, see Smart Device Development.

Database/SQL Server Project

Creates a project in which to build stored procedures, user-defined functions, or other SQL entities. See How to: Create a SQL Server Project.

Reporting/Reports Application

Creates a report project to fill in manually or with the Report Wizard. See Repot Overview for more information.

Reporting/Crystal Reports Application

Creates a Crystal Reports reporting project.

Test/Test Project

Creates a test project. See Getting Started with Team System Testing Tools and How to: Create a Test Project.

WCF/Sequential Workflow Service Library

Creates a Sequential Workflow Service Library project using Windows Communication Foundation. For more information, see WCF Visual Studio Templates.

WCF/Syndication Service Library

See WCF Visual Studio Templates.

WCF/State Machine Workflow Service Library

See WCF Visual Studio Templates.

WCF/WCF Service Library

See WCF Visual Studio Templates.

Visual C++ Windows Templates

Project Template

More Information

Class Library

Win32 Project

Windows Forms Application

CLR Console Application

Win32 Console Application

Custom Wizard

Test Project

ATL Project

Makefile Project

Empty Project

CLR Empty Project

Windows Forms Control Library

Windows Service

MFC Application

MFC ActiveX Control

MFC DLL

MFC Smart Device ActiveX Control

MFC Smart Device Application

MFC Smart Device DLL

ATL Smart Device Project

Win32 Smart Device Project

Other Project Types

These templates appear under the Other Project Types category. The projects in the Setup and Deployment section all use Windows Installer Deployment and are intended to be added to an existing solution.

Project Template

More Information

Setup and Deployment/Setup Project

See How to: Create or Add a Setup Project.

Setup and Deployment/Web Setup Project

See Deployment of a Web Setup Project.

Setup and Deployment/Merge Module Project

See How to: Create or Add a Merge Module Project.

Setup and Deployment/Setup Wizard

See Setup Wizard.

Setup and Deployment/CAB Project

See How to: Create or Add a Cab Project.

Setup and Deployment/Smart Device CAB Project

See Packaging Device Solutions Overview.

Database/Database Project

Database projects provide ways to programmatically interact with databases. For more information, see How to: Create Database and Server Projects.

Extensibility/Visual Studio Add-in

Visual Studio Add-ins add functionality to the Visual Studio and Visual Studio Macros environments. For more information, see How to: Create an Add-In.

Extensibility/Shared Add-in

Shared Add-ins can add functionality to one or more Microsoft Office applications, as well as to Visual Studio. For more information, see How to: Create an Add-In.

Visual Studio Solutions/Blank Solution

This creates a solution file and directory structure to add projects to. See Blank Solution Template.

See Also

Concepts

File Types and File Extensions in Visual Basic and Visual C#

Reference

General, Projects and Solutions, Options Dialog Box

Other Resources

Creating Windows-Based Applications

Visual Studio Tools for Office