Partilhar via


Itens do MSBuild

Itens representam entradas no sistema de compilação são agrupadas em conjuntos de item com base em seus nomes de coleção definida pelo usuário.Essas coleções de item podem ser usadas sistema autônomo parâmetros para tarefas, que usa sistema autônomo itens individuais contidos na coleção para executar sistema autônomo etapas do processo de compilação.

Criando itens em um arquivo de projeto

Itens são declarados no arquivo de projeto, criando um elemento sistema autônomo um filho de um ItemGroup elemento com o nome do item. The Include atributo do elemento especifica os arquivos que devem ser incluídos nessa coleção de item. Por exemplo, o código a seguir cria uma coleção de item denominada Compile, que inclui dois arquivos.

<ItemGroup>
    <Compile Include = "file1.cs"/>
    <Compile Include = "file2.cs"/>
</ItemGroup>

O código a seguir cria o mesmo conjunto de item, declarando os dois arquivos em um Include atributo, separado por ponto-e-vírgula.

<ItemGroup>
    <Compile Include = "file1.cs;file2.cs"/>
</ItemGroup>

Fazendo referência a itens em um arquivo do projeto

Você faz referência item coleções em todo o arquivo de projeto com a sintaxe @ (ItemCollectionName). Por exemplo, você faria referência a coleção de itens no exemplo anterior com @(Compile). Essa sintaxe permite que você passe coleções de item a tarefas, especificando a coleção de itens sistema autônomo um parâmetro da tarefa.Para obter mais informações, consulte Como: Usar curingas para construir todos os arquivos em um diretório.

Por padrão, os itens nas coleções de item são separados por ponto-e-vírgula (;) quando expandida.Use a sintaxe @(ItemCollectionName, &apos;separador ') para especificar um separador diferente do padrão.Para obter mais informações, consulte Como: Exibir uma coleção de item separada com vírgulas.

Usando curingas para especificar itens

Você pode usar o **, * e?caracteres curinga para especificar um agrupar de arquivos sistema autônomo entradas para uma compilação em vez de listar cada arquivo separadamente.Por exemplo, para especificar todos sistema autônomo arquivos .vb ou .cs arquivos no mesmo diretório que o arquivo de projeto, use um dos seguintes elementos no arquivo de projeto:

<CSFile Include="*.cs"/>

- ou -

<VBFile Include="*.vb"/>

Observação:

Você só pode usar caracteres curinga com itens para especificar as entradas para um compilação.Por exemplo, não é possível utilizar curingas para especificar as entradas para o Sources parâmetro na CSC tarefa.MSBuild irá aceitar caracteres curinga sistema autônomo valores de parâmetro, mas irá tratá-los sistema autônomo literais da cadeia de caracteres e não avaliá-las. O exemplo seguinte usaria o literal de seqüência de caracteres *.cs sistema autônomo o Sources valor do parâmetro.

<Target Name="Compile">
    <CSC Sources="*.cs" />
</Target>

Para obter mais informações sobre caracteres curinga, consulte Como: Usar curingas para construir todos os arquivos em um diretório.

Usando o atributo de exclusões

Itens também podem conter o Exclude atributo, que exclui os arquivos específicos da coleção de item. The Exclude atributo é útil quando usado em conjunto com caracteres curinga. Por exemplo, o código a seguir adiciona cada arquivo .cs no diretório, exceto o DoNotBuild.cs arquivo.

<ItemGroup>
    <CSFile
        Include="*.cs"
        Exclude="DoNotBuild.cs"/>
</ItemGroup>

Para obter mais informações, consulte Como: compilação Todos os arquivos em um diretório, exceto um.

Metadados de item

Itens podem conter metadados juntamente com as informações coletadas do Include e Exclude atributos. Esses metadados podem ser usado pelas tarefas que precisam obter mais informações sobre os itens ou para destinos e tarefas em lote.Para obter mais informações sobre envio em lote, consulte envio em lote MSBuild.

Metadados de item são declarados no arquivo de projeto, criando um elemento com o nome dos metadados sistema autônomo um elemento filho do item.Um item pode ter zero ou mais valores de metadados.Por exemplo, o seguinte elemento tem Culture metadados com um valor de Fr.

<ItemGroup>
    <CSFile Include="main.cs">
        <Culture>Fr</Culture>
    </CSFile>
</ItemGroup>

Referência de metadados de item em um arquivo do projeto

Você consultar metadados de item em todo o arquivo de projeto com a sintaxe %(ItemMetadataName). Quando existe a ambigüidade, isso pode ser qualificado pelo nome do item coleção, por exemplo %(item CollectionName.itemMetaDataName).O exemplo a seguir utiliza o Display metadados ao lote a Message tarefa. Para obter mais informações sobre o uso de metadados de item para envio em lote, consulte Como: Tarefas em lote usando metadados de item.

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
        <Stuff Include="One.cs" >
            <Display>false</Display>
        </Stuff>
        <Stuff Include="Two.cs">
            <Display>true</Display>
        </Stuff>
    </ItemGroup>
    <Target Name="Batching">
        <Message Text="@(Stuff)" Condition=" '%(Display)' == 'true' "/>
    </Target>
</Project>

Metadados de item conhecidos

Sempre que um item é adicionado a uma coleção de item, esse item é criado e atribuído a alguns metadados de item conhecidas, sistema autônomo % (nome do arquivo), que contém o nome de arquivo do item.Para obter uma lista completa de metadados de item já conhecidos, consulte O MSBuild Well-known metadados de item.

Transformar coleções de item

Coleções de item podem ser transformadas em novas coleções de item.Por exemplo, uma coleção de itens de arquivos .cpp pode ser transformada em uma coleção de arquivos .obj usando uma expressão como @(CppFiles -> '%(Filename).obj'). Para obter mais informações, consulte MSBuild transformações.

Consulte também

Tarefas

Como: Usar curingas para construir todos os arquivos em um diretório

Como: compilação Todos os arquivos em um diretório, exceto um

Conceitos

envio em lote MSBuild

Tarefas do MSBuild

Referência

Elemento ItemGroup (MSBuild)

Elemento do item (MSBuild)

Elemento ItemMetadata (MSBuild)

O MSBuild Well-known metadados de item