Compartilhar via


Referência de esquema de manifesto de modelo do Visual Studio

Este esquema descreve o formato dos arquivos de manifesto de modelo do Visual Studio (.vstman) que são gerados para modelos de projeto ou item do Visual Studio. O esquema também descreve o local e outras informações relevantes sobre o modelo.

: Como há diretórios de modelo de projeto e item separados, um manifesto nunca deve ter uma mistura de modelos de item e projeto.

Importante

Este manifesto está disponível a partir do Visual Studio 2017.

Elemento VSTemplateManifest

O elemento raiz do manifesto.

Atributos

  • Versão: uma cadeia de caracteres que representa a versão do manifesto do modelo. Obrigatório.

  • Localidade: uma cadeia de caracteres que representa a localidade ou localidades do manifesto do modelo. O valor de localidade se aplica a todos os modelos. Você deve usar um manifesto separado para cada localidade. Opcional.

Elementos filho

  • VSTemplateContainer opcional.

  • VSTemplateDir Opcional.

Elemento pai

Nenhum.

VSTemplateContainer

O contêiner dos elementos de manifesto do modelo. Um manifesto tem um contêiner de modelo para cada modelo que ele define.

Atributos

VSTemplateType: Um valor de cadeia de caracteres que especifica o tipo do modelo ("Project", "Item"ou "ProjectGroup"). Obrigatório

Elementos filho

  • RelativePathOnDisk: O caminho relativo do arquivo de modelo no disco. Esse local também define o posicionamento do modelo na árvore de modelos mostrada na caixa de diálogo Novo Projeto ou Novo Item . Para modelos implantados como um diretório e arquivos individuais, esse caminho refere-se ao diretório que contém os arquivos de modelo. Para modelos implantados como um arquivo .zip, esse caminho deve ser o caminho para o arquivo .zip.

  • **VSTemplateHeader: Um elemento TemplateData que descreve o cabeçalho.

Elemento pai

VSTemplateManifest

VSTemplateDir

Descreve o diretório onde o modelo está localizado. Um manifesto pode conter várias entradas VSTemplateDir para fornecer nome localizado e ordenação de classificação para diretórios para controlar sua aparência na árvore de categorias de modelo.

Devido ao seu design, as entradas VSTemplateDir devem aparecer somente em manifestos não especificados por localidade.

Atributos

Nenhum.

Elementos filho

  • RelativePath: O caminho do modelo. Pode haver apenas uma entrada por caminho, então a primeira ganhará para todos os manifestos.

  • LocalizedName: Um elemento NameDescriptionIcon que especifica o nome localizado. Opcional.

  • SortOrder: Uma cadeia de caracteres que especifica a ordem de classificação. Opcional.

  • ParentFolderOverrideName: O nome substituído da pasta pai. Opcional. Esse elemento tem um atributo Name, que é um valor de cadeia de caracteres que especifica o nome.

Elemento pai

VSTemplateManifest

NomeDescriçãoÍcone

Especifica o nome e a descrição, possivelmente para modelos localizados. Consulte LocalizedName acima.

Atributos

  • Pacote: um valor de cadeia de caracteres que especifica o pacote. Opcional.

  • ID: um valor de cadeia de caracteres que especifica a ID. Opcional.

Elementos filho

Nenhum.

Elemento pai

LocalizedName

Exemplos

O código a seguir é um exemplo de um arquivo .vstman de modelo de projeto.

<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>

O código a seguir é um exemplo de um arquivo .vstman de modelo de item.

<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>