Bagikan melalui


Elemen TerapkanKe (templat Visual Studio)

Menentukan ekspresi opsional untuk mencocokkan satu atau beberapa kemampuan (lihat VsProjectCapabilityExpressionMatcher). Kemampuan diekspos oleh jenis proyek melalui hierarki sebagai properti __VSHPROPID5. VSHPROPID_ProjectCapabilities. Dengan cara ini, templat dapat dibagikan oleh beberapa jenis proyek yang memiliki kemampuan umum yang berlaku.

Elemen ini bersifat opsional. Mungkin ada maksimal satu instans dalam file templat. Elemen ini hanya memungkinkan templat item untuk ikut serta sebagaimana berlaku, berdasarkan kemampuan proyek aktif yang saat ini dipilih. Ini tidak dapat digunakan untuk membuat templat item tidak berlaku. Jika AppliesTo tidak ada atau ekspresi tidak berhasil ikut serta, maka TemplateID atau TemplateGroupID digunakan untuk membuat templat berlaku, seperti halnya versi produk sebelumnya.

Diperkenalkan di Visual Studio 2013 Update 2. Untuk mereferensikan versi yang benar, lihat Merujuk rakitan yang dikirimkan di Visual Studio 2013 SDK Update 2.

<VSTemplate>
   <TemplateData>
      <AppliesTo>

Sintaks

<AppliesTo>Capability1</AppliesTo>

Atribut dan elemen

Bagian berikut menjelaskan atribut, elemen turunan, dan elemen induk.

Atribut

Tidak ada.

Elemen anak

Tidak ada.

Elemen induk

Elemen Deskripsi
TemplateData Mengategorikan templat.

Nilai teks

Nilai teks diperlukan. Teks ini menentukan kemampuan proyek.

Sintaks ekspresi yang valid didefinisikan sebagai:

  • Ekspresi kemampuan, seperti "(VisualC | CSharp) + (MSTest | NUnit)".

  • "|" adalah operator OR.

  • Karakter "&" dan "+" adalah operator AND.

  • Karakter "!" adalah operator NOT.

  • Urutan prioritas evaluasi paksa tanda kurung.

  • Ekspresi null atau kosong dievaluasi sebagai kecocokan.

  • Kemampuan proyek mungkin karakter apa pun kecuali karakter cadangan ini: "'':;,+-*/\!~|&%$@^()={}[]<>? \t\b\n\r

Contoh

Contoh berikut menunjukkan tiga templat yang berbeda. Template1 berlaku baik untuk semua jenis proyek C# atau jenis proyek lain yang mendukung WindowsAppContainer kemampuan. Template2 berlaku untuk semua proyek C# dalam bentuk apa pun. Template3 berlaku untuk proyek C# yang bukan WindowsAppContainer proyek.

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

Baca juga