Design

11 jan, 2022

Entenda as diferenças entre Build, Rebuild e Clean

100 visualizações
Publicidade

Muitas vezes aprendemos a fazer algo e continuamos fazendo sem procurar saber o que esta por trás e quais as consequência. Continuamos a praticar as mesmas ações criando um hábito. Assim, alguns programadores que usam o Visual Studio para criar suas aplicações acabam criando o hábito de executar as operações Clean seguida de Build toda vez que mudam o código sem saber o significado disso. Outros preferem realizar um Rebuild toda a vez que alteram ou modificam partes do código.

Vamos analisar cada uma dessas operações e verificar qual a diferença e como se comportam.

1- Build – /Build (devenv.exe)

Constrói uma solução ou projeto usando um arquivo de configuração de solução (.sln) especificado.

A opção Build no Visual Studio irá realizar uma compilação incremental, ou seja, somente os arquivos que foram alterados serão recriados e os arquivos que não foram modificados não serão compilados.

Build Solution -> Compila os arquivos de código (DLL e EXE) que foram alterados.

2-Clean – /Clean (devenv.exe)

A opção Clean do Visual Studio irá limpar todos os arquivos intermediários e diretórios de saída.

Esta opção é usada quando o Build ou Rebuild falha e você precisa limpar tudo e começar do zero.

Clean Solution -> Deleta todos os arquivos compilados (DLL e EXE).

3– ReBuild – /ReBuild (devenv.exe)

Executa a operação Clean e a seguir a operação Build para a solução especificada.

A opção Rebuild no Visual Studio vai excluir todos os arquivos compilados (DLLs e EXE) e vai executar um Build a partir do zero, independentemente dos arquivos terem sido modificados ou não.

Esta opção é geralmente usada quando você percebe que o Visual Studio não incorporou suas alterações no assembly mais recente.

Diferença entre Rebuild e Clean+Build

A diferença em realizar um Rebuild e fazer e “Clean, seguido de um Build” é que ao aplicar o Rebuild a operação vai limpar e construir cada projeto, um de cada vez, em vez de limpar todos e depois construir todos.

A diferença está na maneira como a operação de Build e de Clean acontecem para cada projeto.

Por exemplo, se a solução tiver dois projetos – Projeto 1 e Projeto 2 e você fizer uma operação de ReBuild, ela pegará o Projeto 1, limpará (excluirá) os arquivos compilados do Projeto 1 e a seguir os construirá, ou seja vai fazer um Build. Depois disso, ele pegará o Projeto 2, limpará os arquivos do Projeto 2 e o construirá.

Por outro lado, se você fizer a operação de Clean seguida de Build, ela primeiro limpará (excluirá) todos os arquivos compilados (DLLs e EXE) para ambos os projetos – Projeto 1 e Projeto 2 e, em seguida, construirá primeiro o Projeto 1, seguido pelo Projeto 2:

Rebuild Solution -> Exclui todos os arquivos compilados e os compila novamente, independentemente se o código foi alterado ou não.

E estamos conversados…