How to: Selecione os arquivos de compilação
Quando você constrói um projeto que contém vários arquivos, você pode listar cada arquivo separadamente no arquivo de projeto ou você pode usar curingas para incluir todos os arquivos em um diretório ou um conjunto aninhado de diretórios.
Especificando entradas
Itens representam as entradas para uma compilação. Para obter mais informações sobre itens, consulte Itens do MSBuild.
Para incluir os arquivos para uma compilação, devem ser incluídos em uma lista de itens na MSBuild arquivo de projeto. Vários arquivos podem ser adicionados às listas de itens, incluindo os arquivos individualmente ou usando caracteres curinga para incluir vários arquivos ao mesmo tempo.
Para declarar os itens individualmente
Use o Include atributos semelhantes ao seguinte:
<CSFile Include="form1.cs"/>
– ou –
<VBFile Include="form1.vb"/>
Observação Se os itens em um collectio de item não estiverem no mesmo diretório do arquivo de projeto, você deve especificar o caminho completo ou relativo ao item. Por exemplo: Include="..\..\form2.cs".
Para declarar vários itens
Use o Include atributos semelhantes ao seguinte:
<CSFile Include="form1.cs;form2.cs"/>
– ou –
<VBFile Include="form1.vb;form2.vb"/>
Especificando entradas com curingas
Você também pode usar caracteres curinga recursivamente incluem todos os arquivos ou apenas os arquivos específicos de subdiretórios como entradas para uma compilação. Para obter mais informações sobre caracteres curinga, consulteItens do MSBuild
Os exemplos a seguir baseiam-se em um projeto que contém os arquivos de gráficos nos seguintes diretórios e subdiretórios, com o arquivo de projeto localizado no diretório do projeto:
Project\Images\BestJpgs
Project\Images\ImgJpgs
Project\Images\ImgJpgs\Img1
Para incluir todos os arquivos. jpg no diretório de imagens e subdiretórios
Use o seguinte Include atributo:
Include="Images\\**\*.jpg"
Para incluir todos os arquivos. jpg, começando com "img"
Use o seguinte Include atributo:
Include="Images\**\img*.jpg"
Para incluir todos os arquivos em diretórios com nomes que terminam em "jpgs"
Use um dos seguintes Include atributos:
Include="Images\**\*jpgs\*.*"
– ou –
Include="Images\**\*jpgs\*"
Itens em passar a uma tarefa
Em um arquivo de projeto, você pode usar o @ notação de () em tarefas para especificar uma lista de todo o item como entrada para uma compilação. Se você lista todos os arquivos separadamente ou usa curingas, você pode usar essa notação.
Para usar arquivos de todos os Visual C# ou Visual Basic como entradas
Use o Include atributos semelhantes à seguinte:
<CSC Sources="@(CSFile)">...</CSC>
– ou –
<VBC Sources="@(VBFile)">...</VBC>
Observação |
---|
Você deve usar caracteres curinga com itens para especificar as entradas para uma compilação; não é possível especificar as entradas usando o Sources atributo na MSBuild tarefas, como Csc ou Vbc. O exemplo a seguir não é válido em um arquivo de projeto: <CSC Sources="*.cs">...</CSC> |
Exemplo
O exemplo de código a seguir mostra um projeto que inclui todos os arquivos de entrada separadamente.
<Project DefaultTargets="Compile"
xmlns="https://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<Builtdir>built</Builtdir>
</PropertyGroup>
<ItemGroup>
<CSFile Include="Form1.cs"/>
<CSFile Include="AssemblyInfo.cs"/>
<Reference Include="System.dll"/>
<Reference Include="System.Data.dll"/>
<Reference Include="System.Drawing.dll"/>
<Reference Include="System.Windows.Forms.dll"/>
<Reference Include="System.XML.dll"/>
</ItemGroup>
<Target Name="PreBuild">
<Exec Command="if not exist $(builtdir) md $(builtdir)"/>
</Target>
<Target Name="Compile" DependsOnTargets="PreBuild">
<Csc Sources="@(CSFile)"
References="@(Reference)"
OutputAssembly="$(builtdir)\$(MSBuildProjectName).exe"
TargetType="exe" />
</Target>
</Project>
O exemplo de código a seguir usa um curinga para incluir todos os arquivos. cs.
<Project DefaultTargets="Compile"
xmlns="https://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<builtdir>built</builtdir>
</PropertyGroup>
<ItemGroup>
<CSFile Include="*.cs"/>
<Reference Include="System.dll"/>
<Reference Include="System.Data.dll"/>
<Reference Include="System.Drawing.dll"/>
<Reference Include="System.Windows.Forms.dll"/>
<Reference Include="System.XML.dll"/>
</ItemGroup>
<Target Name="PreBuild">
<Exec Command="if not exist $(builtdir) md $(builtdir)"/>
</Target>
<Target Name="Compile" DependsOnTargets="PreBuild">
<Csc Sources="@(CSFile)"
References="@(Reference)"
OutputAssembly="$(builtdir)\$(MSBuildProjectName).exe"
TargetType="exe" />
</Target>
</Project>
Consulte também
Tarefas
How to: Excluir arquivos da compilação