Condividi tramite


Elemento AppliesTo (modelli di Visual Studio)

Specifica un'espressione facoltativa da associare a una o più funzionalità. Vedere VsProjectCapabilityExpressionMatcher. Le funzionalità vengono esposte dai tipi di progetto tramite la gerarchia come proprietà VSHPROPID_ProjectCapabilities. In questo modo, il modello può essere condiviso da molteplici tipi di progetto che dispongono di funzionalità applicabili comuni.

Questo elemento è facoltativo. Può essere presente massimo una istanza in un file modello. Questo elemento consente di includere come applicabile solo un modello di elemento, in base alle funzionalità del progetto attivo correntemente selezionato. Non può essere usato per rendere un modello di elemento non applicabile. Se AppliesTo è assente o l'espressione non è inclusa correttamente, viene usato TemplateID o TemplateGroupID per rendere il modello applicabile, come con le versioni precedenti del prodotto.

Introdotto in Visual Studio 2013 Update 2. Per fare riferimento alla versione corretta, vedere Referencing Assemblies Delivered in the Visual Studio 2013 SDK Update 2.

<AppliesTo>Capability1</AppliesTo> 

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Nessuno.

Elementi figlio

Nessuno.

Elementi padre

Elemento

Descrizione

TemplateData

Classifica il modello in base alla categoria.

Valore di testo

È necessario specificare un valore di testo. Questo testo specifica le funzionalità del progetto.

La sintassi valida dell'espressione è definita come segue:

  • L'espressione della funzionalità, ad esempio "(VisualC | CSharp) + (MSTest | NUnit").

  • "|" è l'operatore OR.

  • I caratteri "&" e "+" sono entrambi operatori AND.

  • Il carattere "!" è l'operatore NOT.

  • Le parentesi forzano l'ordine di precedenza nella valutazione.

  • Un valore null o un'espressione vuota viene valutata come una corrispondenza.

  • Le funzionalità del progetto possono essere di qualsiasi carattere eccetto i seguenti, che sono riservati "'`:;,+-*/\!~|&%$@^()={}[]<>? \t\b\n\r

Esempio

Nell'esempio seguente vengono mostrati tre diversi modelli. Template1 si applica a tutti i tipi di progetto C# o a qualsiasi altro tipo di progetto che supporta la funzionalità WindowsAppContainer. Template2 si applica a tutti i progetti C# di qualsiasi genere. Template3 si applica a tutti i progetti C# che non sono progetti 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>

Vedere anche

Riferimenti

Riferimenti allo schema dei modelli di Visual Studio

Concetti

Creazione di modelli per progetti ed elementi in Visual Studio