Freigeben über


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>

Siehe auch