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>