Compartilhar via


How to: Exibir uma Lista de itens separados por Vírgulas

Quando você trabalha com o item de lista em Mecanismo de compilação Microsoft (MSBuild), às vezes é útil exibir o conteúdo dessas listas de itens de uma maneira fácil de ler. Ou, talvez você tenha uma tarefa que leva a uma lista de itens separados por uma seqüência de caracteres de separador especial. Em ambos os casos, você pode especificar uma seqüência de caracteres separadores para uma lista de itens.

Separando os itens em uma lista com vírgulas

Por padrão, MSBuild usa um ponto e vírgula para separar itens de lista. Por exemplo, considere uma Message o elemento com o seguinte valor:

<Message Text="This is my list of TXT files: @(TXTFile)"/>

Quando o @(TXTFile) item de lista contém os itens App1.txt, App2.txt e App3.txt, a mensagem é:

This is my list of TXT files: App1.txt;App2.txt;App3.txt

Se você quiser alterar o comportamento padrão, você pode especificar seu próprio separador. A sintaxe para especificar um separador de lista de item é:

@(ItemListName, '<separator>')

O separador pode ser um único caractere ou uma seqüência de caracteres e deve ser colocado entre aspas simples.

Para inserir uma vírgula e um espaço entre itens

  • Use a notação de item semelhante à seguinte:

    @(TXTFile, ', ')

Exemplo

Neste exemplo, Exec tarefa executa a ferramenta findstr para localizar seqüências de caracteres de texto especificado no arquivo, Phrases.txt. O comando findstr, seqüências de pesquisa literal são indicadas pela /c: Alternar, isso o separador de item, /c: é inserido entre os itens a @(Phrase) item de lista.

Neste exemplo, a linha de comando equivalente é:

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>

Consulte também

Conceitos

Itens do MSBuild

Outros recursos

Referência do MSBuild