Znaki specjalne ucieczki w programie MSBuild
Niektóre znaki mają specjalne znaczenie w plikach projektu MSBuild. Przykłady znaków to średniki (;
) i gwiazdki (*
). Aby uzyskać pełną listę tych znaków specjalnych, zobacz ZNAKI specjalne programu MSBuild.
Aby użyć tych znaków specjalnych jako literałów w pliku projektu, muszą być określone przy użyciu składni %<xx>
, gdzie <xx>
reprezentuje wartość szesnastkową ASCII znaku.
Znaki specjalne w programie MSBuild
Przykładem użycia znaków specjalnych jest Include
atrybut list elementów. Na przykład poniższa lista elementów deklaruje dwa elementy: MyFile.cs i MyClass.cs.
<Compile Include="MyFile.cs;MyClass.cs"/>
Jeśli chcesz zadeklarować element zawierający średnik w nazwie, musisz użyć %<xx>
składni, aby uniknąć średnika i uniemożliwić programowi MSBuild deklarowanie dwóch oddzielnych elementów. Na przykład poniższy element unika średnika i deklaruje jeden element o nazwie MyFile.cs;MyClass.cs
.
<Compile Include="MyFile.cs%3BMyClass.cs"/>
Można również użyć funkcji właściwości do ucieczki ciągów. Na przykład jest to odpowiednik powyższego przykładu.
<Compile Include="$([MSBuild]::Escape('MyFile.cs;MyClass.cs'))" />
Aby użyć znaku specjalnego MSBuild jako znaku literału
Użyj notacji %<xx>
zamiast znaku specjalnego, gdzie <xx>
reprezentuje wartość szesnastkowa znaku ASCII. Aby na przykład użyć gwiazdki (*
) jako znaku literału, użyj wartości %2A
.