在 MSBuild 中逸出特殊字元
在 MSBuild 專案檔中,有某些字元具有特殊意義。 這些字元的範例包括分號 (;
) 和星號 (*
)。 如需這些特殊字元的完整清單,請參閱 MSBuild 特殊字元。
若要使用這些特殊字元作為專案檔中的常值,就必須使用 %<xx>
語法來指定它們,其中 <xx>
代表字元的 ASCII 十六進位值。
MSBuild 特殊字元
使用特殊字元的範例之一是在項目清單的 Include
屬性中。 例如,下列項目清單會宣告兩個項目:MyFile.cs 和 MyClass.cs。
<Compile Include="MyFile.cs;MyClass.cs"/>
如果您想要宣告名稱中包含分號的項目,就必須使用 %<xx>
語法來逸出分號,並防止 MSBuild 宣告兩個個別的項目。 例如,下列項目會逸出分號,並宣告一個名為 MyFile.cs;MyClass.cs
的項目。
<Compile Include="MyFile.cs%3BMyClass.cs"/>
您也可以使用屬性函式來逸出字串。 例如,這就相當於以上的範例。
<Compile Include="$([MSBuild]::Escape('MyFile.cs;MyClass.cs'))" />
使用 MSBuild 特殊字元做為常值字元
請使用標記 %<xx>
取代特殊字元,其中 <xx>
代表 ASCII 字元的十六進位值。 例如,若要使用星號 (*
) 作為常值字元,請使用值 %2A
。