在 MSBuild 中逸出特殊字元

在 MSBuild 專案檔中,有某些字元具有特殊意義。 這些字元的範例包括分號 (;) 和星號 (*)。 如需這些特殊字元的完整清單,請參閱 MSBuild 特殊字元

若要使用這些特殊字元作為專案檔中的常值,就必須使用 %<xx> 語法來指定它們,其中 <xx> 代表字元的 ASCII 十六進位值。

MSBuild 特殊字元

使用特殊字元的範例之一是在項目清單的 Include 屬性中。 例如,下列項目清單會宣告兩個項目:MyFile.csMyClass.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