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>