Categorizes the template and defines how it displays in either the New Project or the Add New Item dialog box.
<TemplateData> <Name> ... </Name> <Description> ... </Description> <Icon> ... </Icon> <ProjectType> ... </ProjectType> ... </TemplateData>
The following sections describe attributes, child elements, and parent elements.
None.
Element
Description
Name
Required element.
Specifies the name of the template as it appears in either the New Project or the Add New Item dialog box.
Specifies the description of the template as it appears in either the New Project or the Add New Item dialog box.
Icon
Specifies the path and the filename of the image file that serves as the icon, which appears in either the New Project or the Add New Item dialog box, for the template.
ProjectType
Categorizes the project template so that it appears under the specified group in the New Project dialog box.
ProjectSubType
Optional element.
Classifies the project template so that it appears under the specified subcategory in the New Project dialog box.
TemplateID
Specifies the template ID.
TemplateGroupID
Specifies the template group ID.
SortOrder
Specifies a value that is used to arrange the template, among other templates in the same category, as it appears in either the New Project or Add New Item dialog box.
CreateNewFolder
Specifies whether a containing folder is created on instantiation of the project.
DefaultName
Specifies the name that the Visual Studio project system will generate for the project or item when it is created.
ProvideDefaultName
Specifies whether the Visual Studio project system will generate the default name for a project or item when it is created.
PromptForSaveOnCreation
Specifies whether the project can be created as a temporary project.
EnableLocationBrowseButton
Specifies whether the Browse button is available in the New Project dialog box, so that users can easily modify the default directory where a new project is saved.
Hidden
Specifies whether the template appears in either the New Project or Add New Item dialog box.
NumberOfParentCategoriesToRollUp
Specifies the number of parent categories that will display the template in the New Project dialog box.
LocationFieldMRUPrefix
LocationField
Specifies whether or not the Location text box in the New Project dialog box is either enabled, disabled, or hidden for the project template.
SupportsMasterPage
Specifies whether the template supports a master page for web projects.
SupportsCodeSeparation
Specifies whether the template supports code separation, or the code-behind page model, for web projects.
SupportsLanguageDropDown
Specifies whether the template is identical for multiple languages, and whether the Language option is available from the New Project dialog box.
VSTemplate
Contains all the metadata for the project template, item template, or starter kit.
TemplateData is a required element.
If you do not include an optional element, the default value for that element is used.
The following example shows the metadata for a project template for a Visual C# application.
<VSTemplate Type="Project" Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005"> <TemplateData> <Name>My template</Name> <Description>A basic starter kit</Description> <Icon>TemplateIcon.ico</Icon> <ProjectType>CSharp</ProjectType> </TemplateData> <TemplateContent> <Project File="MyStarterKit.csproj"> <ProjectItem>Form1.cs<ProjectItem> <ProjectItem>Form1.Designer.cs</ProjectItem> <ProjectItem>Program.cs</ProjectItem> <ProjectItem>Properties\AssemblyInfo.cs</ProjectItem> <ProjectItem>Properties\Resources.resx</ProjectItem> <ProjectItem>Properties\Resources.Designer.cs</ProjectItem> <ProjectItem>Properties\Settings.settings</ProjectItem> <ProjectItem>Properties\Settings.Designer.cs</ProjectItem> </Project> </TemplateContent> </VSTemplate>