Compartilhar via


Limpar um build

Quando você limpa um build, todos os arquivos de saída e intermediários são excluídos, deixando apenas os arquivos de projeto e componente. Nos arquivos de projeto e de componente, novas instâncias dos arquivos de saída e intermediários podem ser criadas.

Criar um diretório para itens de saída

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

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

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

    <builtdir>BuiltApp</builtdir>

  2. Use a tarefa MakeDir para criar o diretório se o diretório não existir. Por exemplo:

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

Remover os itens de saída

Antes de criar novas instâncias dos arquivos de saída e intermediários, é possível limpar todas as instâncias anteriores dos arquivos de saída e intermediários. Use a tarefa RemoveDir 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 a tarefa RemoveDir para remover o diretório. Por exemplo:

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

Exemplo

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

Compile é definido como o destino padrão e, portanto, é usado automaticamente a menos que você especifique um ou mais destinos diferentes. Use a opção de linha de comando -target para especificar um destino diferente. Por exemplo:

msbuild <file name>.proj -target:Clean

A opção -target pode ser abreviada como -t e pode especificar mais de um destino. Por exemplo, para usar o destino Clean e, em seguida, o destino Compile, digite:

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

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

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

        <!-- 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>