Visual Studio (2008) Opção 'Clean Solution'

Respostas:

109

Ele exclui todos os arquivos compilados e temporários associados a uma solução. Isso garante que a próxima compilação seja completa, em vez de apenas os arquivos alterados serem recompilados.

David Arno
fonte
3
Então, qual é a diferença entre "Build" e "Rebuild All?"
Chade,
2
Imagine uma solução com 3 projetos. O Build apenas compila os projetos que foram alterados, desde o último build. Reconstrua, compila tudo.
BigJump
18
O Rebuild Solution é essencialmente o mesmo que executar o Clean Solution e depois o Build Solution?
Joey Green
5
A solução de reconstrução realmente faz uma limpeza antes da construção ou apenas constrói tudo como se uma limpeza tivesse sido feita primeiro?
Homer
2
@JoeyGreen Não. Se você limpar e construir uma solução, ela primeiro limpa todos os projetos e depois cria todos os projetos. Se você reconstruir, leva um projeto por vez, limpa-o e constrói-o. Uma vez, encontrei um problema estranho ao usar Rebuild em vez de Clean & Build, porque algumas dependências de projeto ...
relaxxx
61

Ele exclui todo o código-objeto gerado durante a compilação / construção anterior. Exclui todos os tipos de arquivos abaixo: -

* .obj - código do objeto

* .pdb - arquivo de banco de dados de depuração de programa

* .bsc - banco de dados do navegador de origem

* .ilk - arquivo de linker incremental

* .sbr - arquivo intermediário do navegador de origem

* .idb - reconstruir arquivo de dependência

* .lib - arquivo de biblioteca

* .exe - executável

JFYI - Mesmo um comando Rebuild All fará tudo isso e então continuará a construir o conjunto completo de arquivos de origem.

-DE ANÚNCIOS

meio dourado
fonte
11

Eu queria que fosse um comentário, mas aparentemente preciso de 50 repetições.

Para avisar os outros, acho que a solução de reconstrução não faz uma limpeza sozinho. Freqüentemente, não preciso limpá-lo e compilá-lo / reconstruí-lo para que funcione - acho que reconstruí-lo sozinho força uma compilação completa sem limpar e sobrescreve tudo, mas não elimina os extras.

Não analisamos o que a reconstrução faz com relação ao código, apenas uma observação geral caso outra pessoa tenha o mesmo problema.

Charles
fonte
2
Concordo com esta afirmação - já vi esse comportamento muitas vezes onde uma limpeza antes de uma reconstrução é necessária
Swordblaster
5

Este é um post antigo, mas achei que valeria a pena mencionar. Ao codificar para o Silverlight, geralmente deixo o Blend e o VS2010 abertos ao mesmo tempo. Por causa disso, às vezes o VS2010 enlouquece e o IntelliSense não consegue encontrar onde as coisas estão ou algo assim, resultando em um falso destaque de muitos erros.

Limpar a solução corrige isso.

Lordcheeto
fonte
4

Apaga arquivos criados durante o processo de compilação. Força uma recompilação / construção completa da próxima vez.

Brian Knoblauch
fonte
2

cuidado ao limpar uma solução; quando você limpa uma solução e se você faz referência a uma biblioteca (digamos nhibernate) em seu projeto e se essa biblioteca tem uma dependência (digamos iesi.collections), então você verá que iesi.collections será excluída mesmo se você reconstruir o solução e você tem que colocar essa dll na sua pasta, novamente. ou você também pode consultar iesi.collections e escolher a opção copy-local: yes em suas propriedades

ersanbilik
fonte
5
Isso não deve ser um problema se você mover todas as suas bibliotecas para uma pasta específica diferente de 'Bin' e / ou usar NuGet
bbqchickenrobot
com certeza não está, mas geralmente está localizado na pasta bin (você pode tentar obter fluentnhibernate via nuget e iesi.collections não está lá)
ersanbilik
0

Para sua informação, nem o Clean nem o Rebuild excluirão arquivos não construídos, por exemplo, arquivos copiados durante um comando de pré-criação. Eu estava confuso sobre isso!

AnneTheAgile
fonte