ReSharper joga OutOfMemoryException em grande solução
-
13-09-2019 - |
Pergunta
Configuração IDE:
Visual Studio 2008 + ReSharper 4.5.1 + Agent Smith 1.1.8 . Não há qualquer configuração sofisticada para passado para add-ins.
A inscrição Solução:
33 bibliotecas de classe + web site com mais de 200 páginas.
Sintomas: Após uma hora de trabalho sob ligado na ReSharper o IDE começa a jogar as exceções OutOfMemoryExection. trabalho normal é impossível única reabrir Visual Studio pode ajudar.
Alguém tem esse problema? É possível configurar o ReSharper para consumir menos memória? O recurso ReSharper consome mais memória?
Solução
Se você estiver no Windows de 64 bits (ou você está feliz para executar Windows de 32 bits com a opção / 3GB), então você pode configurar o Visual Studio para ser / LARGEADDRESSAWARE, que, em vez de 2 GB, dará que 4 GB (ou 3 GB on / 3GB) de espaço de endereço para brincar.
Veja, por exemplo, http://old.stevenharman.net/blog/archive/2008/04/29/hacking-visual-studio-to-use-more-than-2gigabytes-of- memory.aspx , que dá a seguinte:
editbin /LARGEADDRESSAWARE devenv.exe
Além disso, consulte a página JetBrains sobre o tema: http: // www .jetbrains.net / confluência / display / ReSharper / OutOfMemoryException% 2BFix
Outras dicas
Bem-vindo ao Mundo do ReSharper. Esta lição é chamado, "Você o que você paga".
Várias características de ReSharper exigem conhecimento de toda a sua solução. Esta informação tem memória. A análise de toda a solução pode ser a mais memória intensiva, mas mesmo mudar a assinatura de um método público exige saber tudo o código que chama esse método.
Uma coisa que você pode fazer, por vezes, é a utilização de menores, "sub-soluções". Se você está refatoração sua camada DAL por exemplo, você só precisa da DAL e quaisquer projetos de teste de unidade. O que, por vezes, fazer é selecionar a solução no Solution Explorer e use File-> Save solução, como para salvá-lo com um nome diferente na mesma pasta. Eu, então, remover projetos até que eu estou à esquerda com aqueles que eu quero. Faça não salvar os projetos que você está removendo (save-los antes de começar). Quando você tem o conjunto que pretende, basta fazer um Salvar tudo.
Se torna-se muito de um aborrecimento, você também pode obter ReSharper para exibir o uso de memória no status bar. Esse recurso está disponível há um longo tempo.
Eu vi este e outros problemas semelhantes no passado com versões anteriores do ReSharper (e outros suplementos semelhantes) e soluções de grande porte, e é uma das razões que eu tento ficar longe deles. As únicas soluções que eu conheço foram para reiniciar Visual Studio, desinstalar ReSharper, ou mantê-lo desligado exceto para quando você realmente precisar usá-lo.
Por que vale a pena, Visual Studio 2010 deve ajudar com esses tipos de problemas.