Como: selecione os arquivos para compilação
Quando você compilação um projeto que contém vários arquivos, você pode listar cada arquivo separadamente no arquivo de projeto , ou você pode usar caracteres curinga para incluir todos os arquivos em um diretório ou um conjunto aninhado de diretórios.
Especificando entradas
Itens representam as entradas para a compilação.Para obter mais informações sobre itens, consulte Itens do MSBuild.
Para incluir os arquivos para a compilação, devem ser incluídos em uma lista de item na MSBuildarquivo de projeto . Vários arquivos podem ser adicionados às listas de item , 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 de um itemdecoleção não estiverem no mesmo diretório do arquivo de projeto , você deve especificar completa ou caminho relativo do 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 caracteres curinga
Você também pode usar caracteres curinga recursivamente incluem todos os arquivos ou apenas a arquivos específicos de subdiretórios como entradas para a 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 Images 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 de passagem para uma tarefa
Em um arquivo de projeto , você pode usar o @ notação () em tarefas para especificar uma lista de todo o item como a entrada para a compilação.Se você lista todos os arquivos separadamente ou utilize caracteres curinga, você pode usar essa notação.
Para usar todos os arquivos do 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 a compilação; não é possível especificar as entradas usando o Sources atributo na MSBuild de tarefas, como Csc ou arquivo 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 caractere 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
Como: excluir arquivos da compilação