Selecionar os arquivos a serem compilados
Quando você compila um projeto que contém vários arquivos, é possível listar cada arquivo separadamente no arquivo de projeto ou usar caracteres curinga para incluir todos os arquivos em um diretório ou um conjunto aninhado de diretórios.
Especificar entradas
Os itens representam as entradas para um build. Para obter mais informações sobre os itens, consulte Itens.
Para incluir arquivos para um build, eles devem ser incluídos em uma lista de itens no arquivo de projeto do MSBuild. Vários arquivos podem ser adicionados a listas de itens incluindo os arquivos individualmente ou usando caracteres curinga para incluir vários arquivos ao mesmo tempo.
Para declarar itens individualmente
Use os atributos
Include
semelhantes ao seguinte:<CSFile Include="form1.cs"/>
ou
<VBFile Include="form1.vb"/>
Observação
Se os itens em uma coleção de itens não estiverem no mesmo diretório que o arquivo de projeto, será necessário especificar o caminho completo ou relativo para o item. Por exemplo:
Include="..\..\form2.cs"
.
Para declarar vários itens
Use os atributos
Include
semelhantes ao seguinte:<CSFile Include="form1.cs;form2.cs"/>
ou
<VBFile Include="form1.vb;form2.vb"/>
Especificar entradas com curingas
Você também pode usar caracteres curinga para incluir recursivamente todos os arquivos ou apenas arquivos específicos de subdiretórios como entradas para um build. Para obter mais informações sobre caracteres curinga, consulte Itens
Os seguintes exemplos 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 Project:
Project\Images\BestJpgs
Project\Images\ImgJpgs
Project\Images\ImgJpgs\Img1
Para incluir todos os arquivos .jpg no diretório Images e nos subdiretórios
Use o seguinte atributo
Include
:Include="Images\**\*.jpg"
Para incluir todos os arquivos .jpg que começam com img
Use o seguinte atributo
Include
:Include="Images\**\img*.jpg"
Para incluir todos os arquivos em diretórios com nomes que terminam com jpgs
Use um dos seguintes atributos
Include
:Include="Images\**\*jpgs\*.*"
ou
Include="Images\**\*jpgs\*"
Passar itens para uma tarefa
Em um arquivo de projeto, você pode usar a notação @() em tarefas para especificar uma lista completa de itens como a entrada para um build. Você pode usar essa notação se listar todos os arquivos separadamente ou usar caracteres curinga.
Para usar todos os arquivos do Visual c# ou Visual Basic como entradas
Use os atributos
Include
semelhantes ao seguinte:<CSC Sources="@(CSFile)">...</CSC>
ou
<VBC Sources="@(VBFile)">...</VBC>
Observação
Use curingas com itens para especificar as entradas para um build; não é possível especificar as entradas usando o atributo Sources
em tarefas do MSBuild como Csc ou Vbc. O exemplo a seguir não é válido em um arquivo de projeto:
<CSC Sources="*.cs">...</CSC>
Exemplo 1
O exemplo de código a seguir mostra um projeto que inclui todos os arquivos de entrada separadamente.
<Project DefaultTargets="Compile"
xmlns="http://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>
Exemplo 2
O exemplo de código a seguir usa um curinga para incluir todos os arquivos .cs.
<Project DefaultTargets="Compile"
xmlns="http://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>
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de