共用方式為


AppliesTo 元素 (Visual Studio 範本)

指定選擇性運算式以符合一或多個功能(請參閱 VsProjectCapabilityExpressionMatcher)。 透過階層將功能公開為屬性 __VSHPROPID5。VSHPROPID_ProjectCapabilities。 如此一來,範本就可以在具有通用功能的多個專案類型之間共用。

這是選擇性的項目。 一個範本檔最多只能有一個執行個體。 這個項目只會根據目前選取的現用專案,讓項目範本加入成為適用的範本。 它不能用來讓項目範本變成不適用。 如果 AppliesTo 不存在或運算式未成功選擇加入,則會使用 TemplateIDTemplateGroupID 讓範本成為適用,就如舊版產品一樣。

已在 Visual Studio 2013 Update 2 中引入。 若要參考正確的版本,請參閱 參考Visual Studio 2013 SDK Update 2 中傳遞的元件。

<VSTemplate>
   <TemplateData>
      <AppliesTo>

語法

<AppliesTo>Capability1</AppliesTo>

屬性和元素

下列章節說明屬性、子元素和父元素。

屬性

無。

子元素

無。

父元素

元素 描述
TemplateData 將範本分類。

文字值

需要文字值。 此文字會指定專案的功能。

有效的運算式語法定義如下:

  • 功能表達式,例如 “(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="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>

另請參閱