Elemento AppliesTo (modelos do Visual Studio)
Especifica uma expressão opcional para correspondência de um ou mais recursos. (Consulte VsProjectCapabilityExpressionMatcher.) Os recursos são expostos pelos tipos de projeto por meio da hierarquia como uma propriedade VSHPROPID_ProjectCapabilities. Dessa maneira, o modelo pode ser compartilhado por vários tipos de projeto que têm recursos aplicáveis comuns.
Esse elemento é opcional. Pode haver um máximo de uma instância em um arquivo de modelo. Esse elemento permite que apenas um modelo de item seja aceito como aplicável, com base nos recursos do projeto ativo atualmente selecionado. Ele não pode ser usado para tornar um modelo de item não aplicável. Se AppliesTo estiver ausente ou a expressão não for aceita com sucesso, TemplateID ou TemplateGroupID serão usados para tornar o modelo aplicável, como nas versões anteriores do produto.
Introduzido no Visual Studio 2013 Atualização 2. Para referenciar a versão correta, consulte Referencing Assemblies Delivered in the Visual Studio 2013 SDK Update 2.
<AppliesTo>Capability1</AppliesTo>
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributos
Nenhum.
Elementos filho
Nenhum.
Elementos pai
Elemento |
Descrição |
---|---|
Categoriza o modelo. |
Valor de texto
Um valor de texto é obrigatório. Esse texto especifica os recursos do projeto.
A sintaxe da expressão válida é definida como:
A expressão de recurso, como "(VisualC | CSharp) + (MSTest | NUnit)".
O "|" é o operador OR.
Os caracteres "&" e "+" são operadores AND.
O caractere "!" é o operador NOT.
Parênteses forçam a ordem de precedência de avaliação.
Uma expressão nula ou vazia é avaliada como uma correspondência.
Os recursos de projeto podem ser qualquer caractere, exceto os caracteres reservados: "'`:;,+-*/\!~|&%$@^()={}[]<>? \t\b\n\r
Exemplo
O exemplo a seguir mostra três modelos diferentes. Template1 aplica-se a todos os tipos de projeto do C# ou a qualquer outro tipo de projeto que ofereça suporte ao recurso WindowsAppContainer. Template2 aplica-se a todos os projetos do C# de qualquer tipo. Template3 aplica-se aos projetos do C# que não são projetos WindowsAppContainer.
<!-- Template 1 -->
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="Item" xmlns="https://schemas.microsoft.com/developer/vstemplate/2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<AppliesTo>CSharp | WindowsAppContainer</AppliesTo>
</TemplateData>
</VSTemplate>
<!-- Template 2 -->
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="Item" xmlns="https://schemas.microsoft.com/developer/vstemplate/2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<AppliesTo>CSharp</AppliesTo>
</TemplateData>
</VSTemplate>
<!-- Template 1 -->
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="Item" xmlns="https://schemas.microsoft.com/developer/vstemplate/2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<AppliesTo>CSharp_Class + (!WindowsAppContainer)</AppliesTo>
</TemplateData>
</VSTemplate>
Consulte também
Referência
Referência de esquema do modelo do Visual Studio