方法 : MSBuild で特殊文字をエスケープするHow to: Escape Special Characters in MSBuild

MSBuildMSBuild プロジェクト ファイルでは、特定の文字が特殊な意味を持ちます。Certain characters have special meaning in MSBuildMSBuild project files. そのような文字の例として、セミコロン (;) およびアスタリスク () があります。Examples of the characters include semicolons (;) and asterisks (). 特殊文字の完全な一覧については、「MSBuild の特殊文字」をご覧ください。For a complete list of these special characters, see MSBuild Special Characters.

これらの特殊文字をプロジェクト ファイル内でリテラルとして使用するには、構文 %xx でそれらの文字を指定する必要があります。xx は文字の ASCII 16 進値を表します。In order to use these special characters as literals in a project file, they must be specified by using the syntax %xx, where xx represents the ASCII hexadecimal value of the character.

MSBuild の特殊文字MSBuild Special Characters

特殊文字が使用される場所の 1 つの例として、アイテム一覧の Include 属性が挙げられます。One example of where special characters are used is in the Include attribute of item lists. たとえば、次のアイテム一覧では、MyFile.cs および MyClass.cs の 2 つのアイテムを宣言しています。For example, the following item list declares two items: MyFile.cs and MyClass.cs.

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

名前にセミコロンを含むアイテムを宣言する場合は、構文 %xx を使用してセミコロンをエスケープし、MSBuildMSBuild によって 2 つの別々のアイテムが宣言されることを防ぐ必要があります。If you want to declare an item that contains a semicolon in the name, you must use the %xx syntax to escape the semicolon and prevent MSBuildMSBuild from declaring two separate items. たとえば、次のアイテムではセミコロンをエスケープして、MyFile.cs;MyClass.cs という名前の 1 つのアイテムを宣言しています。For example, the following item escapes the semicolon and declares one item named MyFile.cs;MyClass.cs.

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

MSBuild の特殊文字をリテラル文字として使用するにはTo use an MSBuild special character as a literal character

  • 特殊文字の代わりに % xx という表記を使用します。ここで、xx は ASCII 文字の 16 進値を表します。Use the notation %xx in place of the special character, where xx represents the hexadecimal value of the ASCII character. たとえば、アスタリスク () をリテラル文字として使用するには、値 %2A を使用します。For example, to use an asterisk () as a literal character, use the value %2A.

関連項目See Also

MSBuild の概念 MSBuild Concepts
MSBuild 項目MSBuild Items