Visual Studio 模板清单架构参考
此架构描述为 Visual Studio 项目或项模板生成的 Visual Studio 模板清单 (.vstman) 文件的格式。 该架构还描述了有关模板的位置和其他相关信息。
:由于存在单独的项和项目模板目录,清单不应混合使用项和项目模板。
重要
从 Visual Studio 2017 开始,此清单可用。
VSTemplateManifest 元素
清单的根元素。
属性
版本:表示模板清单版本的字符串。 必需。
区域设置:表示模板清单的区域设置或区域设置的字符串。 区域设置值适用于所有模板。 必须为每个区域设置使用单独的清单。 可选。
子元素
VSTemplateContainer 可选。
VSTemplateDir 可选。
父元素
无。
VSTemplateContainer
模板清单元素的容器。 清单为每个定义模板都有一个模板容器。
属性
VSTemplateType:一个指定模板类型("Project"
或"Item"
"ProjectGroup"
)的字符串值。 必须
子元素
RelativePathOnDisk:磁盘上模板文件的相对路径。 此位置还定义模板在“新建项目”或“新建项”对话框中显示的模板树中的位置。 对于部署为目录和单个文件的模板,此路径引用包含模板文件的目录。 对于部署为 .zip 文件的模板,此路径应是 .zip 文件的路径。
**VSTemplateHeader:描述 标头的 TemplateData 元素。
父元素
VSTemplateManifest
VSTemplateDir
描述模板所在的目录。 清单可以包含多个 VSTemplateDir 条目,以提供本地化的名称和排序顺序,以便目录控制其在模板类别树中的外观。
由于其设计, VSTemplateDir 条目应仅出现在非区域设置指定的清单中。
特性
无。
子元素
RelativePath:模板的路径。 每个路径只能有一个条目,因此第一个条目将为所有清单获胜。
LocalizedName:指定 本地化名称的 NameDescriptionIcon 元素。 可选。
SortOrder:一个指定排序顺序的字符串。 可选。
ParentFolderOverrideName:父文件夹的重写名称。 可选。 此元素具有 Name 属性,它是指定名称的字符串值。
父元素
VSTemplateManifest
NameDescriptionIcon
指定可能用于本地化模板的名称和说明。 请参阅 上面的 LocalizedName 。
属性
包:一个指定包的字符串值。 可选。
ID:一个指定 ID 的字符串值。 可选。
子元素
无。
父元素
LocalizedName
示例
以下代码是项目模板 .vstman 文件的示例。
<VSTemplateManifest Version="1.0" Locale="1033" xmlns="http://schemas.microsoft.com/developer/vstemplatemanifest/2015">
<VSTemplateContainer TemplateType="Project">
<RelativePathOnDisk>CSharp\1033\TestProjectTemplate</RelativePathOnDisk>
<TemplateFileName>TestProjectTemplate.vstemplate</TemplateFileName>
<VSTemplateHeader>
<TemplateData xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<Name>TestProjectTemplate</Name>
<Description>TestProjectTemplate</Description>
<Icon>TestProjectTemplate.ico</Icon>
<ProjectType>CSharp</ProjectType>
<RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
<SortOrder>1000</SortOrder>
<TemplateID>aac0aeea-7883-4003-992f-937d53d70ab1</TemplateID>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>TestProjectTemplate</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
</TemplateData>
</VSTemplateHeader>
</VSTemplateContainer>
</VSTemplateManifest>
以下代码是项模板 .vstman 文件的示例。
<VSTemplateManifest Version="1.0" Locale="1033" xmlns="http://schemas.microsoft.com/developer/vstemplatemanifest/2015">
<VSTemplateContainer TemplateType="Item">
<RelativePathOnDisk>CSharp\1033\ItemTemplate1</RelativePathOnDisk>
<TemplateFileName>ItemTemplate1.vstemplate</TemplateFileName>
<VSTemplateHeader>
<TemplateData xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<Name>ItemTemplate1</Name>
<Description>ItemTemplate1</Description>
<Icon>ItemTemplate1.ico</Icon>
<TemplateID>bfeadf8e-a251-4109-b605-516b88e38c8d</TemplateID>
<ProjectType>CSharp</ProjectType>
<RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
<NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
<DefaultName>Class.cs</DefaultName>
</TemplateData>
</VSTemplateHeader>
</VSTemplateContainer>
</VSTemplateManifest>