Referencia del esquema del manifiesto de plantilla de Visual Studio
Este esquema describe el formato de los archivos de manifiesto de plantilla de Visual Studio (.vstman) que se generan para plantillas de proyecto o elemento de Visual Studio. El esquema también describe la ubicación y otra información relevante sobre la plantilla.
: dado que hay directorios de plantillas de proyecto y elementos independientes, un manifiesto nunca debe tener una combinación de elementos y plantillas de proyecto.
Importante
Este manifiesto está disponible a partir de Visual Studio 2017.
Elemento VSTemplateManifest
Elemento raíz del manifiesto.
Atributos
Versión: cadena que representa la versión del manifiesto de plantilla. Necesario.
Configuración regional: cadena que representa la configuración regional o las configuraciones regionales del manifiesto de plantilla. El valor de configuración regional se aplica a todas las plantillas. Debe usar un manifiesto independiente para cada configuración regional. Opcional.
Elementos secundarios
VSTemplateContainer opcional.
VSTemplateDir opcional.
Elemento primario
Ninguno.
VSTemplateContainer
Contenedor de los elementos del manifiesto de plantilla. Un manifiesto tiene un contenedor de plantillas para cada plantilla que define.
Atributos
VSTemplateType: valor de cadena que especifica el tipo de la plantilla ("Project"
, "Item"
o "ProjectGroup"
). Obligatorio
Elementos secundarios
RelativePathOnDisk: ruta de acceso relativa del archivo de plantilla en el disco. Esta ubicación también define la ubicación de la plantilla en el árbol de plantillas que se muestra en el cuadro de diálogo Nuevo proyecto o Nuevo elemento . Para las plantillas implementadas como un directorio y archivos individuales, esta ruta de acceso hace referencia al directorio que contiene los archivos de plantilla. En el caso de las plantillas implementadas como un archivo .zip , esta ruta de acceso debe ser la ruta de acceso al archivo .zip .
**VSTemplateHeader: elemento TemplateData que describe el encabezado.
Elemento primario
VSTemplateManifest
VSTemplateDir
Describe el directorio donde se encuentra la plantilla. Un manifiesto puede contener varias entradas vsTemplateDir para proporcionar un nombre localizado y ordenar los directorios para controlar su apariencia en el árbol de categorías de plantilla.
Debido a su diseño, las entradas vsTemplateDir solo deben aparecer en manifiestos especificados sin configuración regional.
Atributos
Ninguno.
Elementos secundarios
RelativePath: ruta de acceso de la plantilla. Solo puede haber una entrada por ruta de acceso, por lo que la primera ganará para todos los manifiestos.
LocalizedName: un elemento NameDescriptionIcon que especifica el nombre localizado. Opcional.
SortOrder: cadena que especifica el criterio de ordenación. Opcional.
ParentFolderOverrideName: nombre invalidado de la carpeta primaria. Opcional. Este elemento tiene un atributo Name , que es un valor de cadena que especifica el nombre.
Elemento primario
VSTemplateManifest
NameDescriptionIcon
Especifica el nombre y la descripción, posiblemente para las plantillas localizadas. Consulte LocalizedName anterior.
Atributos
Paquete: valor de cadena que especifica el paquete. Opcional.
Id. : valor de cadena que especifica el identificador. Opcional.
Elementos secundarios
Ninguno.
Elemento primario
LocalizedName
Ejemplos
El código siguiente es un ejemplo de un archivo .vstman de plantilla de proyecto.
<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>
El código siguiente es un ejemplo de un archivo .vstman de plantilla de elemento.
<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>