Postupy: Zobrazování seznamu položek oddělených čárkami
Při práci s položky jsou uvedeny v Microsoft Build Engine (MSBuild), někdy je vhodné zobrazit obsah těchto seznamů zboží způsobem, který je snadno čitelné.Nebo úkol, který používá seznam položek oddělených zvláštní oddělovací řetězec může mít.V obou případech můžete zadat řetězec oddělovače položek seznamu.
Oddělení položek v seznamu s čárkami
Ve výchozím nastavení MSBuild používá středníky do samostatných položek v seznamu.Zvažte například Message prvek s následující hodnotu:
<Message Text="This is my list of TXT files: @(TXTFile)"/>
Když @(TXTFile) seznam položek obsahuje položky, App1.txt, App2.txt a App3.txt, je zpráva:
This is my list of TXT files: App1.txt;App2.txt;App3.txt
Pokud chcete změnit výchozí chování, můžete zadat vlastní oddělovač.Syntaxe pro určení oddělovač seznamu zboží je:
@(ItemListName, '<separator>')
Oddělovač může být jeden znak nebo řetězec a musí být uzavřen v jednoduchých uvozovkách.
Vložit čárku a mezeru mezi položkami
Použijte zápis položky podobné následujícím:
@(TXTFile, ', ')
Příklad
V tomto příkladu Exec úloh spustí nástroj findstr vyhledat zadané textové řetězce v souboru Phrases.txt.Příkaz findstr literal vyhledávací řetězce jsou označeny /c: přepnout tak oddělovač, /c: vkládá mezi položkami v @(Phrase) seznam položek.
V tomto příkladu je ekvivalentní příkazu příkazového řádku:
findstr /i /c:hello /c:world /c:msbuild phrases.txt
<Project DefaultTargets = "Find"
xmlns="https://schemas.microsoft.com/developer/msbuild/2003" >
<ItemGroup>
<Phrase Include="hello"/>
<Phrase Include="world"/>
<Phrase Include="msbuild"/>
</ItemGroup>
<Target Name = "Find">
<!-- Find some strings in a file -->
<Exec Command="findstr /i /c:@(Phrase, ' /c:') phrases.txt"/>
</Target>
</Project>