Неизвестная ошибка сборки, "Исключение типа" System.OutOfMemoryException "было брошено

У нас есть решение VS.Net с 20 проектами.

Иногда, в VS.NET, когда мы пытаемся построить/отлаживать наше решение, мы получаем следующую ошибку:

Неизвестная ошибка сборки, исключение типа "System.OutOfMemoryException" было брошено

Единственный способ "исправить" эту проблему - снова открыть Visual Studio, а затем сборка решений идет хорошо, но снова через некоторое время снова возникает исключение OutOfMemory. Это действительно раздражает, чтобы повторно открыть Visual Studio пару раз в день, так что вы знаете, обходной путь для этой проблемы?

Ответы

Ответ 1

JetBrains знает об этой проблеме, и они предоставляют некоторые исправления для нее, используя это исправление, решив мои проблемы на данный момент:

http://www.jetbrains.net/confluence/display/ReSharper/OutOfMemoryException+Fix


Изменить: Однако исключение OutOfMemory происходит снова, но это не так часто, как если бы я не использовал это исправление JetBrains.

Ответ 2

Согласно тому, что рекомендует Microsoft, неплохо иметь много проектов в рамках одного решения.

Посмотрите эту ссылку http://support.microsoft.com/kb/949755.

Но решение, предлагаемое в статье, не является чем-то, что можно использовать сразу, из-за затрат на рефакторинг кода.

Вы пытались создать решение вне среды IDE. (Что-то вроде MSBUILD). Это может помочь.

Ответ 3

У меня такая же проблема, если я использую ReSharper и запускаю несколько UnitTests (с включенным CodeCoverage).

Я также предполагаю, что это проблема ReSharper. И поскольку я использую Uniteest, Exception никогда не появляется снова.

BTW. Отключение его, когда исключение исключений (как указано в комментариях выше) не помогает, из-за отключения его во время работы VS не выгружает его из памяти. Единственный способ принудительно выгрузить - это уничтожить все AppDomains, которые загрузили DLL. В сценарии VS-пакета это означает, что вам нужно снести весь процесс VS: (

Ответ 4

Или вы можете просто свернуть Visual Studio примерно на 10 секунд (см. в диспетчере задач, как снижается использование памяти devenv.exe при минимизации). Это работает для меня в большинстве случаев. Мне редко приходится закрывать VS, чтобы избавиться от этой ошибки.