我们的VS.Net解决方案中有20个项目。
偶尔,在VS.NET中,当我们尝试构建/调试我们的解决方案时,会出现以下错误:
未知的构建错误,“System.OutOfMemoryException”类型的异常被抛出
唯一的“解决”方法是重新打开Visual Studio,然后解决方案可以正常构建,但是过一段时间后,OutOfMemory异常再次发生。重新打开几次Visual Studio真的很烦人,那么您知道这个问题的解决方法吗?
我们的VS.Net解决方案中有20个项目。
偶尔,在VS.NET中,当我们尝试构建/调试我们的解决方案时,会出现以下错误:
未知的构建错误,“System.OutOfMemoryException”类型的异常被抛出
唯一的“解决”方法是重新打开Visual Studio,然后解决方案可以正常构建,但是过一段时间后,OutOfMemory异常再次发生。重新打开几次Visual Studio真的很烦人,那么您知道这个问题的解决方法吗?
JetBrains已经意识到这个问题,并提供了一些修复方法,使用这个修复方法暂时解决了我的问题:
http://www.jetbrains.net/confluence/display/ReSharper/OutOfMemoryException+Fix
编辑: 然而,OutOfMemory异常仍然会发生,但是当我不使用这个JetBrains的修复方法时,它出现的频率没有那么高。
或者你可以将 Visual Studio 最小化约 10 秒钟(在任务管理器中观察 devenv.exe 的内存使用情况在最小化时会降低)。这在大多数情况下对我有效。我很少需要关闭 VS 来消除此错误。
如果我使用ReSharper并运行多个启用了CodeCoverage的单元测试,我会遇到相同的问题。
我也认为这是ReSharper的问题。当我运行Unittest时禁用它,异常就不再出现了。
顺便说一下 - 在异常抛出时禁用它(如上面的注释中所提到的)没有帮助,因为在VS正在运行时禁用它将无法卸载它。 强制卸载的唯一方法是关闭所有已加载该DLL的AppDomains。 在VS包方案中,这意味着您必须关闭整个VS进程:(
重新安装VS只是一个临时解决方案。只需增加您的计算机虚拟内存大小即可解决此问题。
请参考下面的链接 - http://windows.microsoft.com/en-in/windows/change-virtual-memory-size#1TC=windows-7