Como: Usar curingas para construir todos os arquivos em um diretório
Quando você compilação um projeto que contém vários arquivos, você pode listar cada arquivo separadamente no arquivo de projeto ou pode usar curingas para incluir todos os arquivos em um diretório ou um conjunto aninhado de diretórios.
Especificando entradas
Itens representam entradas para uma compilação.Para obter mais informações sobre itens, consulte Itens do MSBuild.
Para incluir arquivos para uma compilação, devem ser incluídos em uma coleção de itens no MSBuild arquivo de projeto. Vários arquivos podem ser adicionados às coleções de item incluindo os arquivos individualmente ou usando caracteres curinga para incluir vários arquivos ao mesmo tempo.
Declarar itens individualmente
Use o Include atributos semelhantes para o seguinte:
<CSFile Include="form1.cs"/>
- ou -
<VBFile Include="form1.vb"/>
Observação: Se itens em um item collectio não estiverem no mesmo diretório que o 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 para o 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 incluir todos sistema autônomo arquivos ou apenas arquivos específicos de subdiretórios sistema autônomo entradas para uma compilação.Os exemplos a seguir baseiam-se em um projeto que contém arquivos de elementos gráficos nos seguintes diretórios e subdiretórios, com o arquivo de projeto localizado no diretório do projeto:
projeto\Images\BestJpgs
projeto\Images\ImgJpgs
projeto\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 do seguinte 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 de () em tarefas para especificar uma coleção de todo o item sistema autônomo entrada para uma compilação.Se você lista todos os arquivos separadamente ou usa curingas, você pode usar essa notação.
Para usar arquivos translation from VPE for Csharp Visual ou o Visual Basic sistema autônomo 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 criação; não é possível especificar as entradas usando o Sources atributo no MSBuild tarefas sistema autônomo CSC or Vbc.O exemplo a seguir inválido em um arquivo de projeto: <CSC Sources="*.cs">...</CSC> |
Exemplo
O exemplo de código a seguir mostra um projeto 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
Como: compilação Todos os arquivos em um diretório, exceto um