How to: Excluir arquivos da compilação

Em um arquivo de projeto, você pode usar curingas para incluir todos os arquivos em um diretório ou um conjunto aninhado de diretórios como entradas para uma compilação. No entanto, pode ser um arquivo no diretório ou um diretório em um conjunto aninhado de diretórios que não deseja incluir como entrada para uma compilação. Explicitamente, você pode excluir esse arquivo ou diretório da lista de entradas. Também pode haver um arquivo em um projeto que você deseja incluir sob determinadas condições. Você pode declarar explicitamente as condições sob as quais um arquivo é incluído em uma compilação.

Excluindo um arquivo ou diretório de entradas para uma compilação

Item listas são arquivos de entrada para uma compilação. Os itens que você deseja incluir são declarados separadamente ou como um grupo usando o Include atributo. Por exemplo:

<CSFile Include="Form1.cs"/>

<CSFile Include ="File1.cs;File2.cs"/>

<CSFile Include="*.cs"/>

<JPGFile Include="Images\**\*.jpg"/>

Se você tiver usado os caracteres curinga para incluir todos os arquivos em um diretório ou um conjunto aninhado de diretórios como entradas para uma compilação, pode haver um ou mais arquivos no diretório ou um diretório na um conjunto aninhado de diretórios que não deseja incluir. Para excluir um item da lista de item, use o Exclude atributo.

Para incluir todos os arquivos. cs ou. vb, exceto o Form2

  • Use um dos seguintes Include e Exclude atributos:

    <CSFile Include="*.cs" Exclude="Form2.cs"/>

    - ou -

    <VBFile Include="*.vb" Exclude="Form2.vb"/>

Para incluir todos os arquivos. cs ou. vb, exceto Form2 e Form3

  • Use um dos seguintes Include e Exclude atributos:

    <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 do diretório de imagens, exceto aqueles no diretório antiga2

  • Use o seguinte Include e Exclude atributos:

    <JPGFile

    Include="Images\**\*.jpg"

    Exclude = "Images\**\Version2\*.jpg"/>

    ObservaçãoObservação

    Você deve especificar o caminho para os dois atributos. Se você usar um caminho absoluto para especificar locais de arquivo na Include atributo, você deve usar um caminho absoluto na Exclude atributo; Se você usar um caminho relativo a Include atributo, você deve usar um caminho relativo na Exclude atributo.

Usando as condições para excluir um arquivo ou diretório de entradas para uma compilação

Se houver itens que você deseja incluir, por exemplo, uma compilação de depuração, mas não é uma compilação de versão, você pode usar o Condition atributo para especificar as condições sob as quais incluir o item.

Para incluir o arquivo Formula.vb somente nas compilações lançadas

  • Use um Condition atributo semelhante à seguinte:

    <Compile

    Include="Formula.vb"

    Condition=" '$(Configuration)' == 'Release' " />

Exemplo

O exemplo de código a seguir cria um projeto com todos os arquivos 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

How to: Selecione os arquivos de compilação

Conceitos

Itens do MSBuild

Outros recursos

MSBuild