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 Installed Templates pane populates a list of project templates. The project template that you choose determines the output type and other options available for that project. For information about how to find more templates online, see How to: Find and Install Templates Located Online.
Note
Different templates may be installed according to your Visual Studio version, edition, installation options, and other customizations. If you're 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.
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
Different templates may be installed according to your Visual Studio version, edition, installation options, and other customizations. If you're 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 WPF 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.
Note
These templates are only for Web application projects. They do not apply to Web site projects. For information about the difference between these types of Web projects, see Web Application Projects versus Web Site Projects.
Project Template |
More Information |
---|---|
ASP.NET Web Application |
Creates a new Web application that includes the following:
If you are creating a local IIS Web application or a remote IIS site, Visual Studio creates the IIS Web application. |
ASP.NET MVC 2 Web Application |
The ASP.NET MVC 2 Web Application project template is used to build web applications that use a model-view-controller pattern. For more information, see ASP.NET MVC Overview. |
ASP.NET Empty Web Application |
Creates a new ASP.NET web application that includes a Web.config file but no other files. |
ASP.NET Dynamic Data Entities Web Application |
Creates a Dynamic Data Web application for use with ADO.NET Entity Framework. This Web application can target any relational database. For more information about Dynamic Data, see ASP.NET Dynamic Data Content Map. |
ASP.NET Dynamic Data Linq to SQL Web Application |
Creates a Dynamic Data Web application for use with Linq to SQL. This Web application can target any relational database. For more information about Dynamic Data, see ASP.NET Dynamic Data Content Map. |
ASP.NET Server Control |
Creates a server control to be used in ASP.NET web applications. For more information, see Walkthrough: Developing and Using a Custom Web Server Control. |
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 Microsoft 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 Microsoft Ajax Extender Controls Overview. |
Visual Basic and C# Office Templates
The following Office project templates appear under the Visual Basic/Office or Visual C#/Office subcategories. These templates are organized further into 2010 and 2007 subcategories for projects that target Microsoft Office 2010 and the 2007 Microsoft Office system.
For more information about developing Office solutions, see Office Project Templates Overview.
Project Template |
More Information |
---|---|
Excel 2007 Add-in Excel 2010 Add-in |
Creates an application-level add-in for Excel 2007 or Excel 2010. For more information, see Getting Started Programming Application-Level Add-Ins and Excel Solutions. |
Excel 2007 Template Excel 2010 Template |
Creates a template customization for Excel 2007 or Excel 2010. For more information, see Getting Started Programming Document-Level Customizations for Excel and Excel Solutions. |
Excel 2007 Workbook Excel 2010 Workbook |
Creates a workbook customization for Excel 2007 or Excel 2010. For more information, see Getting Started Programming Document-Level Customizations for Excel and Excel Solutions. |
InfoPath 2007 Add-in InfoPath 2010 Add-in |
Creates an application-level add-in for InfoPath 2007 or InfoPath 2010. For more information, see Getting Started Programming Application-Level Add-Ins and InfoPath Solutions. |
Outlook 2007 Add-in Outlook 2010 Add-in |
Creates an application-level add-in for Outlook 2007 or Outlook 2010. For more information, see Getting Started Programming Application-Level Add-Ins and Outlook Solutions. |
PowerPoint 2007 Add-in PowerPoint 2010 Add-in |
Creates an application-level add-in for PowerPoint 2007 or PowerPoint 2010. For more information, see Getting Started Programming Application-Level Add-Ins and PowerPoint Solutions. |
Project 2007 Add-in Project 2010 Add-in |
Creates an application-level add-in for Project 2007 or Project 2010. For more information, see Getting Started Programming Application-Level Add-Ins and Excel Solutions. |
Visio 2007 Add-in Visio 2010 Add-in |
Creates an application-level add-in for Visio 2007 or Visio 2010. For more information, see Getting Started Programming Application-Level Add-Ins and Project Solutions. |
Word 2007 Add-in Word 2010 Add-in |
Creates an application-level add-in for Word 2007 or Word 2010. For more information, see Getting Started Programming Application-Level Add-Ins and Word Solutions. |
Word 2007 Document Word 2010 Document |
Creates a document customization for Word 2007 or Word 2010. For more information, see Getting Started Programming Document-Level Customizations for Word and Word Solutions. |
Word 2007 Template Word 2010 Template |
Creates a template customization for Word 2007 or Word 2010. For more information, see Getting Started Programming Document-Level Customizations for Word and Word Solutions. |
Visual Basic and C# SharePoint Templates
The following templates appear under the Visual Basic/SharePoint or Visual C#/SharePoint subcategories, and may be further sorted into 2007 and 2010.
Project Template |
More Information |
---|---|
SharePoint 2007 Sequential Workflow |
Workflow templates manage the life cycle of documents and list items in a SharePoint Web application. This template creates a sequential workflow. See SharePoint 2007 Workflow Solutions. |
SharePoint 2007 State Machine Workflow |
This template creates a state machine workflow. See SharePoint 2007 Workflow Solutions. |
Empty SharePoint Project |
Creates a SharePoint project with no project items. See SharePoint Project and Project Item Templates. |
Visual Web Part |
A Visual Web Part project is an Empty SharePoint project that contains a Visual Web Part item. For more information, see Creating Web Parts for SharePoint. |
Sequential Workflow |
Creates a sequential workflow project, which is a series of business logic steps, performed in sequence, until the last step is completed. See SharePoint 2007 Workflow Solutions. |
State Machine Workflow |
Creates a state machine workflow, which is a set of business logic states, transitions, and actions. The steps in a state machine workflow are not performed in sequence; instead, they are triggered by actions and states. See SharePoint 2007 Workflow Solutions. |
Business Data Connectivity Model |
Lets you integrate business data from back-end server applications, such as SQL Server, Siebel, and Service Advertising Protocol (SAP), into SharePoint. See Integrating Business Data into SharePoint. |
Event Receiver |
Lets you handle events for items in the SharePoint site, such as lists, Web items, and workflows. See How to: Create an Event Receiver. |
List Definition |
Lets you define all of the components of a SharePoint list, such as its fields, forms, views, and toolbar. See Walkthrough: Create a Custom Field, Content Type, List Definition, and List Instance. |
Content Type |
Lets you create custom content types based on an existing (base) SharePoint content type such as a document, announcement, or a task. See Walkthrough: Create a Custom Field, Content Type, List Definition, and List Instance. |
Module |
Contains any files that you want to accompany the SharePoint project, such as development notes or a Readme file. See Using Modules to Include Files in the Solution. |
Site Definition |
Contains all the elements that define a SharePoint site. See Walkthrough: Create a Basic Site Definition Project. |
Import Reusable Workflow |
Lets you import a reusable, declarative workflow created in SharePoint Designer 2010 into Visual Studio. See Walkthrough: Import a SharePoint Designer Reusable Workflow into Visual Studio. |
Import SharePoint Solution Package |
Lets you import an existing SharePoint site, exported to a .wsp file, into Visual Studio. Once imported into Visual Studio, you can customize its items and redeploy them. For more information, see Importing Items from an Existing SharePoint Site. |
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. 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 |
---|---|
Activity Designer Library |
The Activity Designer Library template is used to create a custom activity designer. Custom activity designers are used to create the design-time experience for activity use, controlling how the activity and its property page appear in Visual Studio. For more information, see Creating a Custom Activity Designer. |
Activity Library |
The Activity Library template is used to create a composite activity from pre-existing activities. For more information, see Workflow Activity Authoring using the Activity class. |
WCF Workflow Service Application |
The WCF Workflow Service Application template is used to create a workflow that uses message activities to send and receive WCF messages. For more information, see Workflow Services Overview. |
Workflow Console Application |
The Workflow Console Application template is used to create a workflow that is hosted in a console application. The workflow is implemented as a Sequence activity. For more information, see How To: Create a Workflow. |
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 |
---|---|
Cloud Service/Enable Windows Azure Tools |
Provides instructions for enabling Windows Azure Cloud Service projects by installing Windows Azure Tools. For more information, see How to: Enable Windows Azure Tools |
Reporting/Reports Application |
Creates a report project to fill in manually or with the Report Wizard. |
Reporting/Crystal Reports Application |
Creates a Crystal Reports reporting project. |
Silverlight/Silverlight Application |
Creates a standard Silverlight application project with the option to host it in a Web project. For more information, see How to: Create a New Silverlight Project. |
Silverlight/Silverlight Navigation Application |
Creates a Silverlight application project that contains user-interface (UI) components, such as headers, footers, and navigation sidebars. |
Silverlight/Silverlight Class Library |
Creates a Silverlight class library project for consumption by Silverlight applications. |
WCF/Syndication Service Library |
|
WCF/WCF Service Library |
|
WCF/WCF Workflow Service Application |
The WCF Workflow Service Application template is used to create a workflow that uses message activities to send and receive WCF messages. For more information, see Workflow Services Overview. |
Visual C++ Windows Templates
Project Template |
More Information |
---|---|
ATL/ATL Project |
Creates a project that uses the Active Template Library. |
CLR/Class Library |
Creates classes to use in other applications. |
CLR/CLR Console Application |
Creates a console application. |
CLR/Empty Project |
Creates an empty project for creating a local application. |
CLR/Windows Forms Application |
Creates an application with a Windows user interface. |
CLR/Windows Forms Control Library |
Creates controls to use in Windows applications. |
General/ Empty Project |
Creates an empty project for creating a local application. |
General/ Makefile Project |
Creates a project for using an external build system. |
General/ Custom Wizard |
Creates a custom application wizard. For more information, see Designing a Wizard. |
MFC/MFC Application |
Creates an application that uses the Windows Foundation Class Library. For more information, see MFC Class Wizard. |
MFC/MFC DLL |
Creates a dynamic link library that uses the Windows Foundation Class Library. For more information, see MFC Class Wizard. |
MFC/MFC ActiveX Control |
Creates an ActiveX control that uses the Windows Foundation Class Library. For more information, see MFC Class Wizard. |
Test/Test Project |
Creates a test project to use for automated tests. For more information about how to create automated tests, see Creating Automated Tests. |
Win32/Win32 Project |
Creates a project to host a Win32 application, console application, DLL, or static library. |
Win32/Win32 Console Application |
Creates a Win32 console application. |
Visual F# Templates
The following templates appear under the Visual F#/Windows or Visual F#/Silverlight subcategories. For information about Visual F# templates, see Using Visual Studio to Write F# Programs.
Other Project Types
These templates appear under the Other Project Types category. The projects in the Setup and Deployment section all use Visual Studio Installer Deployment and are intended to be added to an existing solution.
Project Template |
More Information |
---|---|
Setup and Deployment/InstallShield 2010 |
|
Setup and Deployment/Visual Studio Installer/Setup Project |
|
Setup and Deployment/Visual Studio Installer/Web Setup Project |
|
Setup and Deployment/ Visual Studio Installer/Merge Module Project |
|
Setup and Deployment/ Visual Studio Installer/Setup Wizard |
See Setup Wizard. |
Setup and Deployment/ Visual Studio Installer/CAB Project |
|
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. |
Database
These templates appear under the Database category.
Project Template |
More Information |
---|---|
SQL Server/SQL Server 2005 Database Project |
Database projects provide ways to programmatically interact with databases. For more information, see How to: Create Database and Server Projects. |
SQL Server/SQL Server 2005 Server Project |
|
SQL Server/SQL Server 2005 Wizard |
|
SQL Server/SQL Server 2008 Database Project |
|
SQL Server/SQL Server 2008 Server Project |
|
SQL Server/SQL Server 2008 Wizard |
|
SQL Server/Data-tier Application |
|
SQL Server/Visual Basic SQL CLR Database Project |
|
SQL Server/Visual C# SQL CLR Database Proejct |
Modeling Projects Templates
The following templates appear under the Modeling Projects category.
Project Template |
More Information |
---|---|
Modeling Project |
Test Projects Templates
The following templates appear under the Test projects/Test Documents subcategory.
Project Template |
More Information |
---|---|
Test Documents |
Creates a test project to use for automated tests. For more information about how to create automated tests, see Creating Automated Tests. |
See Also
Tasks
How to: Find and Install Templates Located Online
How to: Restore Default Project Templates
Reference
General, Projects and Solutions, Options Dialog Box
Concepts
File Types and File Extensions in Visual Basic and Visual C#