AppliesTo – element (šablony sady Visual Studio)
Určuje volitelný výraz, který se má shodovat s jednou nebo více možnostmi (viz VsProjectCapabilityExpressionMatcher). Možnosti jsou zpřístupněny typy projektů prostřednictvím hierarchie jako vlastnost __VSHPROPID5. VSHPROPID_ProjectCapabilities. Tímto způsobem může šablony sdílet více typů projektů, které mají společné příslušné schopnosti.
Tento element je volitelný. Soubor šablony může obsahovat maximálně jednu jeho instanci. Tento element pouze umožňuje určit, kterou šablonu položky lze případně použít, na základě schopností aktuálně vybraného aktivního projektu. Neumožňuje určit, že šablonu položky nelze použít. Pokud AppliesTo
chybí nebo výraz se úspěšně nepřihlásí, použije TemplateID
se k TemplateGroupID
použití šablony stejně jako v předchozích verzích produktu.
Představeno v sadě Visual Studio 2013 Update 2. Pokud chcete odkazovat na správnou verzi, přečtěte si téma Odkazování na sestavení doručená v sadě Visual Studio 2013 SDK Update 2.
<VSTemplate>
<TemplateData>
<AppliesTo>
Syntaxe
<AppliesTo>Capability1</AppliesTo>
Atributy a prvky
Následující části popisují atributy, podřízené prvky a nadřazené prvky.
Atributy
Nezaokrouhlovat.
Podřízené prvky
Nezaokrouhlovat.
Nadřazené prvky
Element (Prvek) | Popis |
---|---|
TemplateData | Určuje kategorii šablony. |
Textová hodnota
Je vyžadována textová hodnota. Tento text určuje schopnosti projektu.
Platná syntaxe výrazu je definována takto:
Výraz schopností, například "(VisualC | CSharp) + (MSTest | NUnit)".
| je operátor OR.
Znaky "&" a "+" jsou operátory AND.
Znak "!" je operátor NOT.
Závorky určují pořadí vyhodnocování.
Hodnota null nebo prázdný výraz jsou vyhodnoceny jako shoda.
Možnosti projektu můžou být libovolný znak s výjimkou těchto vyhrazených znaků: '':;,+-*/\!~|&%$@^()={}[]<>? \t\b\n\r
Příklad
Následující příklad ukazuje tři různé šablony. Template1
platí buď pro všechny typy projektů jazyka C#, nebo jakýkoli jiný typ projektu, který tuto funkci podporuje WindowsAppContainer
. Template2
platí pro všechny projekty jazyka C# jakéhokoli druhu. Template3
platí pro projekty jazyka C#, které nejsou WindowsAppContainer
projekty.
<!-- Template 1 -->
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://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="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://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="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<AppliesTo>CSharp_Class + (!WindowsAppContainer)</AppliesTo>
</TemplateData>
</VSTemplate>