Se você clicar com o botão direito em uma pasta, verá um item de menu "Limpar". Presumi que isso limparia (removeria) o diretório obj e bin. No entanto, pelo que posso ver, não faz nada. Existe outra maneira? (por favor, não me diga para ir ao Windows Explorer ou ao cmd.exe) Eu gostaria de remover a pasta obj e bin para que eu possa facilmente compactar tudo.
visual-studio
msbuild
tom7
fonte
fonte
Respostas:
Como outros já responderam, o Clean removerá todos os artefatos gerados pela construção. Mas vai deixar tudo o mais para trás.
Se você tiver algumas personalizações em seu projeto MSBuild, isso pode causar problemas e deixar para trás coisas que você acha que deveria ter excluído.
Você pode contornar esse problema com uma simples mudança em seu. * Proj, adicionando isto em algum lugar próximo ao final:
O que removerá tudo em sua pasta bin da plataforma / configuração atual.
------ Editar ligeira evolução com base na resposta do Shaman abaixo (compartilhe os votos e dê alguns a ele também)
---- Edite novamente com partes do xDisruptor, mas removi a exclusão .vs, pois seria melhor servido em um .gitignore (ou equivalente)
Atualizado para VS 2015.
Ele também fornece uma boa sugestão sobre como tornar a tarefa mais fácil de implantar e manter se você tiver vários projetos para implementar isso.
Se você votar nesta resposta, certifique-se de votar em ambos também.
fonte
Se você estiver usando git e tiver um correto
.gitignore
em seu projeto, você podepara remover absolutamente todos os arquivos da
.gitignore
lista, ou seja, ele limparáobj
e asbin
pastas (o quex
aciona esse comportamento)fonte
--dry-run
isso só informa o que será excluído. nicePara o Visual Studio 2015, as variáveis do MSBuild mudaram um pouco:
Observe que esse snippet também limpa a pasta .vs do diretório raiz da sua solução. Você pode comentar a linha associada se achar que remover a pasta .vs é um exagero. Eu o habilitei porque percebi que em alguns projetos de terceiros isso causa problemas quando os arquivos ala application.config existem dentro da pasta .vs.
Termo aditivo:
Se você deseja otimizar a manutenção de suas soluções, convém dar um passo adiante e colocar o snippet acima em um arquivo separado, como:
Em seguida, inclua esse arquivo no final de cada um dos seus arquivos * .csproj, assim:
Dessa forma, você pode enriquecer ou ajustar sua lógica de limpeza extra centralmente, em um só lugar, sem ter que se preocupar em editar manualmente cada arquivo * .csproj sempre que desejar fazer uma melhoria.
fonte
Para excluir bin e obj antes de compilar, adicione ao arquivo de projeto:
Aqui está o artigo: Como remover a pasta bin e / ou obj antes de construir ou implantar
fonte
Este site: https://sachabarbs.wordpress.com/2014/10/24/powershell-to-clean-visual-studio-binobj-folders/ usa os comandos do powerhell de William Kempf para remover qualquer pasta bin e obj do diretório atual e subdiretórios. Deve ser possível executá-lo a partir da raiz da unidade.
Aqui está a versão de William
Nas próprias palavras de William:
fonte
Confira o fantástico código aberto de Ron Jacobs, CleanProject. Ele ainda cuida do zip, se você quiser.
Aqui está o link do CodePlex
fonte
Você pode localizar e remover facilmente as pastas bin e obj no Far Manager.
Na caixa de diálogo de configuração de pesquisa:
Depois que a pesquisa for concluída, mude a visualização para "Painel" .
Espero que ajude alguém.
fonte
No Windows, basta abrir o explorador, navegar até a pasta SLN, clicar no campo de pesquisa e digitar kind: = pasta; obj -> para pastas obj use CTRL + A e exclua-os - o mesmo para bin Feito
Não há necessidade de nenhuma ferramenta ou software extra;)
fonte
Não remove as pastas, mas remove os subprodutos de construção. Há algum motivo para você querer que as pastas de construção reais sejam removidas?
fonte
Limpar removerá todos os arquivos intermediários e finais criados pelo processo de compilação, como arquivos .obj e .exe ou .dll.
No entanto, ele não remove os diretórios onde esses arquivos foram compilados. Não vejo um motivo convincente para você precisar que os diretórios sejam removidos. Você pode explicar melhor?
Se você olhar dentro desses diretórios antes e depois de uma "Limpeza", verá que a saída compilada será limpa.
fonte
Ainda não consigo adicionar um comentário (nenhuma reputação mínima alcançada),
por isso deixo esta resposta para sublinhar que:
a ação "BeforeBuild" com
<RemoveDir Directories="$(BaseIntermediateOutputPath)" />
é ótima, mas, para mim, está em conflito com um modelo de Entity Framework incluído no mesmo projeto.O erro que recebo é:
Suponho que o "edmxResourcesToembed" seja criado antes que a ação de destino "BeforeBuild" seja executada.
fonte
Com base na resposta de Joe, converti o código VB em C #:
fonte
Eu uso VisualStudioClean, que é fácil de entender e previsível. Saber como funciona e quais arquivos vai deletar me deixa aliviado.
Anteriormente experimentei o VSClean (observe que VisualStudioClean não é VSClean), VSClean é mais avançado, tem muitas configurações que às vezes me fazem pensar que arquivos ele vai excluir? Uma configuração incorreta resultará na perda de meus códigos-fonte. Para testar como a configuração funcionará, é necessário fazer backup de todos os meus projetos, o que leva muito tempo, então, no final, escolho VisualStudioClean.
Conclusão: VisualStudioClean se você deseja limpeza básica, VSClean para cenários mais complexos.
fonte
É assim que faço com um arquivo em lote para excluir todas as pastas BIN e OBJ recursivamente.
fonte
Eu armazeno meus projetos VS finalizados salvando apenas o código-fonte.
Excluo as pastas BIN, DEBUG, RELEASE, OBJ, ARM e .vs de todos os projetos.
Isso reduz o tamanho do projeto consideravelmente. O projeto
deve ser reconstruído quando retirado do armazenamento.
fonte
Apenas um adendo a todas as boas respostas acima, caso alguém não perceba como é fácil em VB / C # automatizar todo o processo até o arquivo zip.
Então, você apenas pega um aplicativo Formulários simples dos modelos (se ainda não tiver um aplicativo de manutenção) e adiciona um botão a ele e, em seguida, o ClickOnce o instala em sua área de trabalho sem se preocupar com configurações especiais ou muito de qualquer coisa. Este é todo o código que você precisa para anexar ao botão:
Uma coisa a lembrar é que as exclusões do sistema de arquivos podem dar errado facilmente. Um dos meus favoritos foi quando percebi que não poderia excluir uma pasta porque ela continha itens criados pelo Visual Studio durante a execução com privilégios elevados (para que eu pudesse depurar um serviço).
Eu precisava dar permissão manualmente ou, suponho, executar o aplicativo com privilégios elevados também. De qualquer forma, acho que há algum valor em usar uma abordagem baseada em GUI interativa em vez de um script, especialmente porque isso é provavelmente algo que é feito no final de um longo dia e você não quer descobrir mais tarde que seu backup realmente não existe ...
fonte
Atualização: Visual Studio 2019 (Limpe [bin] e [obj] antes do lançamento). No entanto, não tenho certeza se [obj] precisa ser excluído. Esteja ciente de que também há configuração de pacote nuget. Você pode remover a segunda linha se achar que sim.
fonte