AppliesTo-Element (Visual Studio-Vorlagen)
Gibt einen optionalen Ausdruck an, der einer oder mehreren Funktionen entspricht (siehe VsProjectCapabilityExpressionMatcher). Funktionen werden von Projekttypen über die Hierarchie als Eigenschaft __VSHPROPID5 verfügbar gemacht. VSHPROPID_ProjectCapabilities. Dadurch kann die Vorlage von mehreren Projekttypen gemeinsam genutzt werden, die über geläufige anwendbare Funktionen verfügen.
Dieses Element ist optional. Es kann maximal eine Instanz in einer Vorlagendatei geben. Dieses Element ermöglicht einer Elementvorlage nur, auf Grundlage der Funktionen des ausgewählten aktiven Projekts als anwendbar zu optieren. Es kann nicht verwendet werden, um eine Elementvorlage nicht anwendbar zu machen. Wenn AppliesTo
fehlt oder der Ausdruck nicht erfolgreich optiert, wird TemplateID
oder TemplateGroupID
verwendet, um die Vorlage anwendbar zu machen, wie mit früheren Versionen des Produkts.
Eingeführt in Visual Studio 2013 Update 2. Informationen zum Verweisen auf die richtige Version finden Sie unter Verweisen auf Assemblys, die im Visual Studio 2013 SDK Update 2 bereitgestellt werden.
<VSTemplate>
<TemplateData>
<AppliesTo>
Syntax
<AppliesTo>Capability1</AppliesTo>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
Keine
Untergeordnete Elemente
Keine
Übergeordnete Elemente
Element | Beschreibung |
---|---|
TemplateData | Kategorisiert die Vorlage. |
Text Wert
Ein Textwert ist erforderlich. Dieser Text gibt die Funktionen des Projekts an.
Gültige Ausdruckssyntax ist folgendermaßen definiert:
Der Funktionsausdruck, z. B. "(VisualC | CSharp) + (MSTest | NUnit)".
Das "|" ist der OR-Operator.
Die Zeichen "&" und "+" sind beide OPERATOREN.
Das Zeichen "!" ist der Operator NOT.
Klammern erzwingen die Auswertungsreihenfolge.
Eine leerer oder NULL-Ausdruck wird als Übereinstimmung ausgewertet.
Die Projektfunktionen können ein beliebiges Zeichen mit Ausnahme dieser reservierten Zeichen sein: "':;,+-*/\!~|&%$@^()={}[]<>? \t\b\n\r
Beispiel
Im folgenden Beispiel werden drei unterschiedliche Vorlagen gezeigt. Template1
Gilt entweder für alle C#-Projekttypen oder einen anderen Projekttyp, der die WindowsAppContainer
Funktion unterstützt. Template2
gilt für alle C#-Projekte jeglicher Art. Template3
gilt für C#-Projekte, die keine WindowsAppContainer
sind Projekte.
<!-- 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>