我们有VS.Net解决方案,其中包含20个项目。
偶尔,在VS.NET中,当我们尝试构建/调试我们的解决方案时,我们会收到以下错误:
未知的构建错误,'抛出类型'System.OutOfMemoryException'的异常
解决此问题的唯一方法是重新打开Visual Studio,然后解决方案构建顺利进行,但在一段时间后再次出现OutOfMemory异常。每天重新打开Visual Studio几次真的很烦人,所以你知道这个问题的一些解决方法吗?
答案 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)
参考以下链接 - http://windows.microsoft.com/en-in/windows/change-virtual-memory-size#1TC=windows-7