方法 : MSBuild で特殊文字をエスケープする

MSBuild プロジェクト ファイルでは、特定の文字が特殊な意味を持ちます。 そのような文字の例として、セミコロン (;) およびアスタリスク (*) があります。 特殊文字の完全な一覧については、「MSBuild の特殊文字」をご覧ください。

これらの特殊文字をプロジェクト ファイル内でリテラルとして使用するには、構文 %xx でそれらの文字を指定する必要があります。xx は文字の ASCII 16 進値を表します。

MSBuild の特殊文字

特殊文字が使用される場所の 1 つの例として、アイテム一覧の Include 属性が挙げられます。 たとえば、次のアイテム一覧では、MyFile.cs および MyClass.cs の 2 つのアイテムを宣言しています。

<Compile Include="MyFile.cs;MyClass.cs"/>  

名前にセミコロンを含むアイテムを宣言する場合は、構文 %xx を使用してセミコロンをエスケープし、MSBuild によって 2 つの別々のアイテムが宣言されることを防ぐ必要があります。 たとえば、次のアイテムではセミコロンをエスケープして、MyFile.cs;MyClass.cs という名前の 1 つのアイテムを宣言しています。

<Compile Include="MyFile.cs%3BMyClass.cs"/>  

MSBuild の特殊文字をリテラル文字として使用するには

  • 特殊文字の代わりに % xx という表記を使用します。ここで、xx は ASCII 文字の 16 進値を表します。 たとえば、アスタリスク (*) をリテラル文字として使用するには、値 %2A を使用します。

関連項目

MSBuild の概念
MSBuild 項目