Partilhar via


Como: Exibir uma coleção de item separada com vírgulas

Quando você trabalha com item listas em Mecanismo de compilação Microsoft (MSBuild), às vezes é útil exibir o Sumário dessas item listas em uma forma que seja fácil de ler. Ou, talvez você tenha uma tarefa que utiliza 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 separador para um item lista.

Separando os itens em uma lista com um ponto-e-vírgula

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

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

Quando o @(TXTFile) lista de itens 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

Para separar itens com ponto-e-vírgula

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

    @(TXTFile)

Especificando um separador personalizado

Se você desejar alterar o comportamento padrão, você pode especificar seu próprio separador.A sintaxe para especificar um separador de lista do 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 texto especificado no arquivo, Phrases.txt.Comando findstr, seqüências de Pesquisar literal são indicadas pelo /c: comutador, isso o separador de item /c: é inserido entre os itens a @(Phrase) lista de itens.

Neste exemplo, o comando de 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