Resharper выдает исключение OutOfMemoryException в большом решении

StackOverflow https://stackoverflow.com/questions/1272096

Вопрос

Конфигурация IDE:

Visual Studio 2008 + Решарпер 4.5.1 + Агент Смит 1.1.8.Для последних надстроек нет какой-либо сложной настройки.

Описание решения:

33 библиотеки классов + веб-сайт с более чем 200 страницами.

Симптомы:После часа работы под настройкой на Resharper IDE начинает выбрасывать исключения OutOfMemoryExection.Нормальная работа невозможна, может помочь только переоткрытие Visual Studio.

Есть ли у кого-нибудь такая проблема?Можно ли настроить Resharper так, чтобы он потреблял меньше памяти?Какая функция Resharper потребляет больше всего памяти?

Это было полезно?

Решение

Если вы используете 64-разрядную версию Windows (или вы готовы использовать 32-разрядную версию Windows с переключателем /3GB), вы можете настроить Visual Studio как /LARGEADDRESSAWARE, что вместо 2 ГБ даст ей 4 ГБ ( или 3 ГБ на /3 ГБ) адресного пространства для игры.

См., например, http://old.stevenharman.net/blog/archive/2008/04/29/hacking-visual-studio-to-use-more-than-2gigabytes-of-memory.aspx, что дает следующее:

editbin /LARGEADDRESSAWARE devenv.exe

Также посетите страницу JetBrains по этой теме: http://www.jetbrains.net/confluence/display/ReSharper/OutOfMemoryException%2BFix

Другие советы

Добро пожаловать в мир ReSharper.Этот урок называется: «Вы получаете то, за что платите».

Различные функции ReSharper требуют знания всего вашего решения.Эта информация требует памяти.Анализ всего решения может быть самым трудоемким в использовании памяти, но даже для изменения сигнатуры общедоступного метода требуется знание всего кода, вызывающего этот метод.

Иногда вы можете использовать более мелкие «подрешения».Например, если вы проводите рефакторинг уровня DAL, вам понадобится только DAL и все проекты модульных тестов.Иногда я выбираю решение в обозревателе решений и использую Файл->Сохранить решение как, чтобы сохранить его под другим именем в той же папке.Затем я удаляю проекты, пока не останутся те, которые мне нужны.Делать нет сохраните удаляемые проекты (сохраните их перед началом).Когда у вас есть нужный набор, просто сохраните все.

Если это вас слишком раздражает, вы также можете заставить ReSharper отображать использование памяти в строке состояния.Эта функция была доступна длинный время.

Я видел эту и подобные проблемы в прошлом в более ранних версиях Resharper (и других подобных надстройках) и крупных решениях, и это одна из причин, по которой я стараюсь держаться от них подальше.Единственные известные мне решения — это перезапустить Visual Studio, удалить Resharper или оставить его выключенным, за исключением тех случаев, когда вам действительно нужно его использовать.

В любом случае, Visual Studio 2010 должна помочь в решении подобных проблем.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top