Escapesonderzeichen in MSBuild
Bestimmte Zeichen haben in MSBuild-Projektdateien eine besondere Bedeutung. Beispiele für die Zeichen sind Semikolons (;
) und Sternchen (*
). Eine vollständige Liste dieser Sonderzeichen finden Sie unter MSBuild-Sonderzeichen.
Um diese Sonderzeichen als Literale in einer Projektdatei zu verwenden, müssen sie mit der Syntax %<xx>
angegeben werden, wobei <xx>
den ASCII-Hexadezimalwert des Zeichens darstellt.
MSBuild-Sonderzeichen
Ein Beispiel, in dem Sonderzeichen verwendet werden, ist im Attribut Include
von Elementlisten. Die folgende Liste deklariert beispielsweise zwei Elemente: MyFile.cs und MyClass.cs.
<Compile Include="MyFile.cs;MyClass.cs"/>
Wenn Sie ein Element deklarieren möchten, das ein Semikolon im Namen enthält, müssen Sie die Syntax %<xx>
verwenden, um das Semikolon zu umgehen und um MSBuild daran zu hindern, zwei separate Elemente zu deklarieren. Das folgende Element umgeht beispielsweise den Semikolon und deklariert ein Element mit dem Namen MyFile.cs;MyClass.cs
.
<Compile Include="MyFile.cs%3BMyClass.cs"/>
Sie können auch eine Eigenschaftenfunktion verwenden, um Zeichenfolgen mit Escapezeichen zu versehen. Dies ist beispielsweise äquivalent zu dem Beispiel oben.
<Compile Include="$([MSBuild]::Escape('MyFile.cs;MyClass.cs'))" />
So verwenden Sie ein MSBuild-Sonderzeichen als Literalzeichen
Verwenden Sie die Notation %<xx>
anstelle des Sonderzeichens, wobei <xx>
den Hexadezimalwert des ASCII-Zeichens darstellt. Wenn Sie ein Sternchen (*
) als Literalzeichen verwenden möchten, verwenden Sie z.B. den Wert %2A
.