AppliesTo 項目 (Visual Studio 樣板)
指定用於比對一個或多個功能的選擇性運算式 (請參閱 VsProjectCapabilityExpressionMatcher)。 專案類型會透過階層架構將功能公開為 VSHPROPID_ProjectCapabilities 屬性。 如此一來,範本就可以在具有通用功能的多個專案類型之間共用。
這是選擇性的項目。 一個範本檔最多只能有一個執行個體。 這個項目只會根據目前選取的現用專案,讓項目範本加入成為適用的範本。 它不能用來讓項目範本變成不適用。 如果 AppliesTo 不存在或運算式未成功選擇加入,則會使用 TemplateID 或 TemplateGroupID 讓範本成為適用,就如舊版產品一樣。
已在 Visual Studio 2013 Update 2 中引入。 若要參考正確的版本,請參閱Referencing Assemblies Delivered in the Visual Studio 2013 SDK Update 2。
<AppliesTo>Capability1</AppliesTo>
屬性和項目
下列章節說明屬性、子項目和父項目。
屬性
無。
子項目
無。
父項目
項目 |
描述 |
---|---|
將範本分類。 |
文字值
需要文字值。 此文字會指定專案的功能。
有效的運算式語法定義如下:
功能運算式,例如 "(VisualC | CSharp) + (MSTest | NUnit)"。
"|" 是 OR 運算子。
"&" 和 "+" 字元都是 AND 運算子。
"!" 字元是 NOT 運算子。
括號會強制執行評估優先順序。
Null 或空白運算式會判斷值為相符項目。
專案功能可以是除了下列這些保留字元以外的任何字元:"'`:;,+-*/\!~|&%$@^()={}[]<>? \t\b\n\r
範例
下列範例將示範三個不同的範本。 Template1 適用於所有 C# 專案類型,或是任何支援 WindowsAppContainer 功能的其他專案類型。 Template2 適用於任何類型的所有 C# 專案。 Template3 適用於不是 WindowsAppContainer 專案的 C# 專案。
<!-- Template 1 -->
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="Item" xmlns="https://schemas.microsoft.com/developer/vstemplate/2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://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="https://schemas.microsoft.com/developer/vstemplate/2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://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="https://schemas.microsoft.com/developer/vstemplate/2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<AppliesTo>CSharp_Class + (!WindowsAppContainer)</AppliesTo>
</TemplateData>
</VSTemplate>