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"/>
    
    ObservaçãoObservação

    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: selecione os arquivos para compilação

Conceitos

Itens do MSBuild

Outros recursos

MSBuild