Compartilhar via


Como: Limpar uma compilação

Ao limpar uma compilação, todos os arquivos intermediários e de saída são excluídos, deixando somente o projeto e os arquivos de componente.Do projeto e arquivos de componente, novas instâncias de intermediários e arquivos de saída podem então ser criados.A biblioteca de tarefas comuns que é fornecida com MSBuild inclui um EXEC tarefa que você pode usar para executar comandos do sistema.Para obter mais informações sobre a biblioteca de tarefas, consulte Referência de tarefas do MSBuild.

Criando um diretório para os itens de saída

Por padrão, o arquivo .exe que é criado quando você compila um projeto é colocado no mesmo diretório do projeto e arquivos de fonte.No entanto, normalmente, itens de saída são criados em um diretório separado.

Para criar um diretório de saída de itens

  1. Use o Property elemento para definir o local e o nome do diretório. Por exemplo, crie um diretório chamado BuiltApp no diretório que contém o projeto e arquivos de fonte:

    <builtdir>BuiltApp</builtdir>
    
  2. Use o MakeDir tarefa para criar o diretório se o diretório não existe.Por exemplo:

    <MakeDir Directories = "$(builtdir)" 
        Condition = "!Exists('$(builtdir)')" />
    

Removendo os itens de saída

Antes, para criar novas instâncias de arquivos intermediários e de saída, convém desmarcar anteriores todas as instâncias de arquivos intermediários e de saída.Use o RemoveDir tarefa para excluir um diretório e todos os arquivos e diretórios que ele contém de um disco.

Para remover um diretório e todos os arquivos contidos no diretório

  • Use o RemoveDir tarefa para remover o diretório. Por exemplo:

    <RemoveDir Directories="$(builtdir)" />
    

Exemplo

O projeto de exemplo seguinte código contém um novo destino, Clean, que usa o RemoveDir Para excluir um diretório e todos os arquivos e diretórios que ele contém a tarefa. Também no exemplo, a Compile destino cria um diretório separado para os itens de saída são excluídos quando a compilação é limpo.

Compile é definido sistema autônomo o destino padrão e, portanto, é usado automaticamente, a menos que você especifique um destino diferente ou destinos. Usar comutador de linha de comando /target Para especificar um destino diferente. Por exemplo:

msbuild <file name>.proj /target:Clean

The /target comutador pode ser reduzido a /t e pode especificar mais de um destino. Por exemplo, para usar o destino Clean em seguida, o destino Compile, tipo:

msbuild <file name>.proj /t:Clean;Compile

<Project DefaultTargets = "Compile"
    xmlns="https://schemas.microsoft.com/developer/msbuild/2003" >

    <PropertyGroup>
        <!-- Set the application name as a property -->
        <appname>HelloWorldCS</appname>

        <!-- Set the output folder as a property -->
        <builtdir>BuiltApp</builtdir>
    </PropertyGroup>

    <ItemGroup>
        <!-- Specify the inputs by type and file name -->
        <CSFile Include = "consolehwcs1.cs"/>
    </ItemGroup>

    <Target Name = "Compile">
        <!-- Check whether an output folder exists and create
        one if necessary -->
        <MakeDir Directories = "$(builtdir)" 
            Condition = "!Exists('$(builtdir)')" />

        <!-- Run the Visual C# compiler -->
        <CSC Sources = "@(CSFile)" 
            OutputAssembly = "$(BuiltDir)\$(appname).exe">
            <Output TaskParameter = "OutputAssembly"
                ItemName = "EXEFile" />
        </CSC>

        <!-- Log the file name of the output file -->
        <Message Text="The output file is @(EXEFile)"/>
    </Target>

    <Target Name = "Clean">
        <RemoveDir Directories="$(builtdir)" />
    </Target>
</Project>

Consulte também

Conceitos

Destinos do MSBuild

Referência

Exec tarefa

Tarefa MakeDir

Tarefa RemoveDir

Tarefa CSC