Udostępnij za pośrednictwem


AppliesTo, element (szablony visual studio)

Określa wyrażenie opcjonalne, aby dopasować co najmniej jedną funkcję (zobacz VsProjectCapabilityExpressionMatcher). Możliwości są udostępniane przez typy projektów za pośrednictwem hierarchii jako __VSHPROPID5 właściwości . VSHPROPID_ProjectCapabilities. W ten sposób szablon może być współużytkowany przez wiele typów projektów, które mają wspólne odnośne funkcje.

Ten element jest opcjonalny. Plik szablonu może zawierać maksymalnie jedno jego wystąpienie. Element umożliwia jedynie potwierdzenie zgodności szablonu elementu z funkcjami aktualnie zaznaczonego aktywnego projektu. Nie można za jego pomocą ustawić niezgodności szablonu. Jeśli AppliesTo jest nieobecny lub wyrażenie nie zostanie pomyślnie wyrażeniu zgody, lub TemplateID TemplateGroupID zostanie użyte do zastosowania szablonu, tak jak w przypadku poprzednich wersji produktu.

Wprowadzono w programie Visual Studio 2013 Update 2. Aby odwołać się do poprawnej wersji, zobacz Referencing assemblies delivered in the Visual Studio 2013 SDK Update 2 (Odwoływanie się do zestawów dostarczonych w zestawie SDK programu Visual Studio 2013 Update 2).

<VSTemplate>
   <TemplateData>
      <AppliesTo>

Składnia

<AppliesTo>Capability1</AppliesTo>

Atrybuty i elementy

W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.

Atrybuty

Brak.

Elementy podrzędne

Brak.

Elementy nadrzędne

Element opis
Templatedata Nadawanie szablonowi kategorii.

Wartość tekstowa

Wartość tekstowa jest wymagana. Tekst określa funkcje projektu.

Prawidłową składnię wyrażeń definiuje się następująco:

  • Wyrażenie możliwości, takie jak "(VisualC | CSharp) + (MSTest | NUnit)".

  • Operator "|" jest operatorem OR.

  • Znaki "&" i "+" są operatorami AND.

  • Znak „!” jest operatorem NIE.

  • Nawiasy wymuszają kolejność pierwszeństwa w ocenie.

  • Wyrażenie o wartości null lub puste jest interpretowane jako zgodność.

  • Możliwości projektu mogą być dowolnym znakiem z wyjątkiem tych znaków zarezerwowanych: "'':;,+-*/\!~|%$@^()={}[]<>? \t\b\n\r

Przykład

W przykładzie poniżej widać trzy różne szablony. Template1 dotyczy wszystkich typów projektów w języku C# lub dowolnego innego typu projektu, który obsługuje WindowsAppContainer tę funkcję. Template2 dotyczy wszystkich projektów języka C# dowolnego rodzaju. Template3 dotyczy projektów w języku C#, które nie WindowsAppContainer są projektami.

<!--  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>

Zobacz też