Como excluir arquivos da compilação
Em um arquivo de projeto você pode usar caracteres curinga para incluir todos os arquivos em um diretório ou aninhado em um conjunto de diretórios como entradas de uma compilação. Em o entanto, pode haver um arquivo no diretório ou em um diretório em um conjunto de diretórios aninhado que você não deseja incluir como entrada para uma construção. Você pode explicitamente excluir o arquivo ou diretório da lista de entradas. Também pode haver um arquivo em um projeto que você deseja para incluir somente sob certas condições. Você pode declarar explicitamente as condições em que um arquivo é incluído em uma construção.
Excluindo de Arquivo ou diretório de entradas de uma compilação
As listas de item são arquivos de entrada para uma construção. Os itens que você deseja incluir são declarados separada ou como um grupo usando o atributo de Include . Por exemplo:
<CSFile Include="Form1.cs"/>
<CSFile Include ="File1.cs;File2.cs"/>
<CSFile Include="*.cs"/>
<JPGFile Include="Images\**\*.jpg"/>
Se você usou para incluir curingas todos os arquivos em um diretório ou aninhado em um conjunto de diretórios como entradas de uma compilação, pode haver um ou mais arquivos no diretório ou em um diretório em um conjunto de diretórios aninhado que você não deseja incluir. Para excluir um item de lista do item, use o atributo de Exclude .
Para incluir todos os arquivos .cs ou .vb excetue Form2
Use um dos seguintes Include e atributos de Exclude :
<CSFile Include="*.cs" Exclude="Form2.cs"/>
- ou -
<VBFile Include="*.vb" Exclude="Form2.vb"/>
Para incluir todos os arquivos .cs ou .vb excetue Form2 e Form3
Use um dos seguintes Include e atributos de Exclude :
<CSFile Include="*.cs" Exclude="Form2.cs;Form3.cs"/>
- ou -
<VBFile Include="*.vb" Exclude="Form2.vb;Form3.vb"/>
Para incluir todos os arquivos .jpg em subdiretórios da pasta imagens excetue aqueles no diretório Version2
use os seguintes Include e atributos de Exclude :
<JPGFile Include="Images\**\*.jpg" Exclude = "Images\**\Version2\*.jpg"/>
Dica
você deve especificar o caminho para ambos os atributos.Se você usar um caminho absoluto para especificar locais de arquivo no atributo de Include , você também deve usar um caminho absoluto no atributo de Exclude ; se você usar um caminho relativo no atributo de Include , você também deve usar um caminho relativo no atributo de Exclude .
Usando condições para excluir um Arquivo ou diretório de entradas de uma compilação
Se houver os itens que você deseja incluir, por exemplo, em uma construção de depuração mas não em uma construção de versão, você pode usar o atributo de Condition para especificar as condições sob as quais para incluir o item.
Para incluir o arquivo Formula.vb somente em construções de versão
Use um atributo de Condition semelhante ao seguinte:
<Compile Include="Formula.vb" Condition=" '$(Configuration)' == 'Release' " />
Exemplo
O exemplo de código a seguir cria um projeto com todos os arquivos .cs no diretório exceto Form2.cs.
<Project DefaultTargets="Compile"
xmlns="https://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<builtdir>built</builtdir>
</PropertyGroup>
<ItemGroup>
<CSFile Include="*.cs Exclude="Form2.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 selecionar os arquivos a serem compilados