未知的构建错误,抛出了类型'System.OutOfMemoryException'的异常

时间:2009-07-01 10:44:04

标签: visual-studio visual-studio-2008 exception compiler-construction build-process

我们有VS.Net解决方案,其中包含20个项目。

偶尔,在VS.NET中,当我们尝试构建/调试我们的解决方案时,我们会收到以下错误:

未知的构建错误,'抛出类型'System.OutOfMemoryException'的异常

解决此问题的唯一方法是重新打开Visual Studio,然后解决方案构建顺利进行,但在一段时间后再次出现OutOfMemory异常。每天重新打开Visual Studio几次真的很烦人,所以你知道这个问题的一些解决方法吗?

5 个答案:

答案 0 :(得分:3)

JetBrains意识到这个问题,并且他们为它提供了一些修复,使用此修复解决了我现在的问题:

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


编辑: 但是,OutOfMemory异常再次发生,但它不像我不使用此JetBrains修复时那样频繁。

答案 1 :(得分:2)

根据微软的建议,在一个解决方案中拥有大量项目并不是一个好主意。

请查看此链接http://support.microsoft.com/kb/949755

但是文章中提出的解决方案不是直接使用的,因为涉及代码重构成本。

您是否尝试过从IDE外部构建解决方案。 (像MSBUILD这样的东西)。这可能有所帮助。

答案 2 :(得分:2)

如果我使用ReSharper并运行多个UnitTests(启用CodeCoverage),我会遇到相同的问题。

我还假设这是一个ReSharper问题。而且由于我在运行Unittest时将其解雇,因此Exception永远不再出现。

BTW - 在异常抛出时禁用它(如上面的注释中所述)没有帮助,因为在VS运行时禁用它不会从内存中卸载它。强制卸载的唯一方法是拆除已加载DLL的所有AppDomain。在VS Package方案中,这意味着您必须拆除整个VS进程:(

答案 3 :(得分:2)

或者您可以将Visual Studio最小化大约10秒(请参阅任务管理器中devenv.exe的内存使用情况在最小化时如何丢失)。在大多数情况下,这对我很有用。我很少关闭VS来摆脱这个错误。

答案 4 :(得分:-1)

VS重新安装是临时解决方案。 Jus增加你的机器虚拟内存大小。这解决了这个问题。

参考以下链接 - http://windows.microsoft.com/en-in/windows/change-virtual-memory-size#1TC=windows-7