Utiliser des caractères spéciaux d’échappement dans MSBuild

Certains caractères ont une signification spéciale dans les fichiers projet MSBuild. Il s’agit par exemple des points-virgules (;) et des astérisques (*). Pour obtenir la liste complète de ces caractères spéciaux, consultez Caractères spéciaux MSBuild.

Pour pouvoir utiliser ces caractères spéciaux comme littéraux dans un fichier projet, vous devez les spécifier suivant la syntaxe %<xx>, où <xx> représente la valeur hexadécimale ASCII du caractère.

Caractères spéciaux MSBuild

Par exemple, les caractères spéciaux sont utilisés dans l’attribut Include des listes d’éléments. Par exemple, la liste d’éléments suivante déclare deux éléments : MyFile.cs et MyClass.cs.

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

Si vous souhaitez déclarer un élément qui contient un point-virgule dans le nom, vous devez utiliser la syntaxe %<xx> pour placer le point-virgule dans une séquence d’échappement et empêcher MSBuild de déclarer deux éléments distincts. Par exemple, l’élément suivant insère le point-virgule dans une séquence d’échappement et déclare un élément nommé MyFile.cs;MyClass.cs.

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

Vous pouvez également utiliser une fonction de propriété pour insérer des chaînes dans une séquence d’échappement. Par exemple, ceci est équivalent à l’exemple ci-dessus.

<Compile Include="$([MSBuild]::Escape('MyFile.cs;MyClass.cs'))" />

Pour utiliser un caractère spécial MSBuild comme caractère littéral

Utilisez la notation %<xx> à la place du caractère spécial, où <xx> représente la valeur hexadécimale du caractère ASCII. Par exemple, pour utiliser un astérisque (*) comme caractère littéral, utilisez la valeur %2A.