VS2015 Update 2消息:“检测到内存不足。该解决方案无法进行完整的解决方案分析。”


83

我刚刚用Update 2更新了Visual Studio 2015。

现在,经过数小时的正常工作,我收到:“检测到内存不足。为此解决方案禁用了完整的解决方案分析。” 出现在我的VS2015编辑器固定面板的顶部。

我看到Microsoft Connect上报告了一个错误。

笔记:

  • 我正在使用Resharper。
  • 我的解决方案很大,其中约有32个项目。

如果有人对解决方法有任何解决方法或建议,请告诉我。

更新:我和安德斯·佛斯格伦(第一条评论)的感受差不多。对我来说,这听起来很不错。

更新2(2016-04-20)最近(三天前),我对Framework.Net安装的软件包(来自“程序和功能”)进行了大幅度的清理,其中删除了约20-30个软件包。有些是俄语的。我还重新安装了Visual Studio和ReSharper。所有这些似乎都为我的环境增加了一些稳定性(更少的冻结或不再冻结->时间会证明一切)。此外,最近还发布了新的(2016-04-19).NET Framework修复工具版本。也许可以帮助解决我们遇到的一些问题(如果有的话)?

更新3经过一些测试并阅读了一些国家的文字。似乎它与.Net framework本身或Resharper没有关系。它似乎与VS2015本身有关,可能与Roslyn有关。我没有成功从VS2015中删除Roslyn / CodeAnalysis,它似乎是必不可少的部分。听起来我们必须等待Microsoft修复程序才能拥有稳定的环境。

更新4(2016-04-26)请参阅John Atwood答案。很多信息。我刚刚开始测试其答案。Update 3应该可以解决此问题(如果有???)。

更新5(2016-04-26 + 6小时)在VS自身完成1次重启,一个令人难以置信的缓慢性以及一条消息“ Low memory ...”之后,我可以确认禁用完全解决方案分析不能解决问题,在至少在我的机器上。我目前不知道可以在我的计算机上使用的任何修复/解决方法。

Update 6(2016-06-15) Mladen Mihajlovic叫醒了我。我只是意识到我忘了透露VS2015 Update 3 RC的可用性(请注意,我认为这是第二个版本:Update 3 RC2)。自6月7日起在MSDN上可用,RC1 = 14.0.25401.00,而RC2 = 14.0.25402.00。听起来要稳定得多(我强烈推荐)。


11
我认为这是解决先前存在的问题的解决方法,但是在update2之前,它并没有自动禁用它,相反,性能变得很糟糕。最重要的是,对于大型解决方案(可能是在代码大小而不是项目数量方面),完整的解决方案分析仍然不切实际,因此您根本不希望这样做。现在,这自动发生。将其关闭解决该问题的方法。Roslyn团队可能正在研究解决方案。我有一个具有50k类型的100多个项目解决方案,Update1无法使用,而在Update2中,我直接在解决方案负载上得到错误。
Anders Forsgren

非常感谢您提供的信息。这可能可以解释为什么我的VS2015 Update 1有时也会冻结。至少现在有一个回退,我们可以继续努力。希望罗斯林团队能尽快找到解决方案:-)!
Eric Ouellet

2
我投票关闭此问题为离题,因为存在一个现有的Microsoft连接问题。
Daniel A. White


1
我有同样的问题。VS2015更新。2 + ReSharer(均已更新)。我们有大约400个解决方案项目。我只是在ReSharper上遇到过这种情况。但不幸的是,我与ReSharper大约同时安装了更新2。因此,我不确定应该归咎于谁。VS刚用完了32位应用程序的可用内存。拥有64位VS IDE可能会有所帮助。我有很多可用的空闲内存(64GB),所以我讨厌应用程序告诉我它们的内存不足。
MartinDobšík'16

Answers:


3

经过非常简短的分析后,似乎该问题可能与CodeAnalysis实现有关,该实现默认情况下处于启用状态,而我找不到任何可以禁用它的配置文件选项。

这是参考搜索结果

但是我暂时能够成功禁用CodeAnalysis VS插件,似乎它对VS运行的平稳性有所影响。

唯一的更改是从以下位置重命名CodeAnalysis扩展插件文件夹:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\CodeAnalysis

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\CodeAnalysis_disabled

这显然会降级VisualStudio功能集并可能引起一些副作用,但是由于我使用的是ReSharper自己的丙氨酸化功能,因此VS CodeAnalysis实在是太过分了。

更新:

看起来Microsoft.VisualStudio.CodeAnalysis.VCPlugin.dll也已添加到GAC,并受到了gacutil的保护,无法删除。要从GAC中强行删除它,需要执行以下步骤:

  1. 删除以下注册表项,但首先保存以防万一:

Windows注册表编辑器版本5.00

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Installer \ Assemblies \ Global]“ Microsoft.VisualStudio.CodeAnalysis,version = \” 14.0.0.0 \“,publicKeyToken = \” b03f5f7f11d50a3a \“,processorArchitecture = \” MSIL \“,fileVersion = \” 14.0.23107.0 \“,culture = \” neutral \“” = hex(7):6a,\ 00,5f,00,65,00,7e,00,5a,00,61,00,47,00,71 ,00,2a,00,3f,00,6a,00,61,00,31,00,\ 30,00,6e,00,66,00,70,00,4e,00,2d,00,44, 00,54,00,65,00,73,00,74,00,54,00,6f,\ 00,6f,00,6c,00,73,00,5f,00,65,00,6e,00 ,75,00,3e,00,39,00,42,00,21,00,4e,00,\ 63,00,6a,00,24,00,58,00,70,00,45,00, 42,00,75,00,6a,00,21,00,56,00,3d,00,2d,\ 00,31,00,51,00,32,00,00,00,68,00,6a ,00,4f,00,46,00,70,00,48,00,2d,00,24,00,\ 4b,00,34,00,69,00,4f,00,68,00,33, 00,72,00,60,00,65,00,62,00,28,00,36,00,43,\ 00,6f,00,64,00,65,00,5f,00,41,00,6e,00,61,00,6c,00,79,00,73,00,69,00,73,00,\ 5f,00,54,00,6f,00,6f ,00,6c,00,73,00,5f,00,31,00,31,00,39,00,38,00,37,00,5f,\ 00,78,00,38,00,36, 00,5f,00,65,00,6e,00,75,00,3e,00,39,00,42,00,21,00,4e,00,\ 63,00,6a,00,24,00 ,58,00,70,00,45,00,42,00,75,00,6a,00,21,00,56,00,3d,00,2d,\ 00,31,00,51,00, 32,00,00,00,00,00

  1. 从GAC卸载程序集

“ C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v10.0A \ bin \ NETFX 4.6 Tools \ x64 \ gacutil.exe” / u“ Microsoft.VisualStudio.CodeAnalysis,版本= 14.0.0.0,文化=中性, PublicKeyToken = b03f5f7f11d50a3a,processorArchitecture = MSIL“ / f

还建议不要将CodeAnalysis_disabled文件夹移动到另一个位置,因为我无法告知VS MEF加载程序是如何实现的以及它将在哪里搜索插件。


注意:您可以通过以下方法禁用它:Menu-ReSharper-Options-Code Inspection-“启用代码分析”。
Eric Ouellet

过去(在Update 2之前),我已经尝试过您的建议,但这并不能阻止Visual Studio冻结。它发生的次数似乎较少,但仍然冻结。4月18日,星期一(3天前),我只是从“程序和功能”中卸载了20-30 Framework.net程序包,然后完全重新安装了带有Update 2的Visual Studio。至少在冻结方面看起来更好,因为我已经有一个多星期没有收到内存消息了。在接受答案之前,我将等待确定正确的修复方法。谢谢。
Eric Ouellet

我真的不介意ReSharper自己的代码分析。实际上,VS可能仍然冻结大型代码库是有道理的,因为它是32位应用程序,在不断增长的功能之后,显然需要64位的跃迁来应对内存限制。请把我的回答作为提示,以帮助暂时禁用一个内存和CPU饥饿功能。请同时检查更新。

我正在测试您的解决方案。谢谢!今天,再次,我的VS2015更新2重新启动。相当激进的解决方法,但如果它有效:-) !!! 我会让您知道我的计算机上的行为...
Eric Ouellet

尽管我按照您的指示进行了操作,但我仍然收到相同的消息:“检测到内存不足...”。我认为Codeanalysis仍然存在。似乎很难禁用CodeAnalysis。我想知道VS2015是否能够正常工作(Roslyn的一部分)是否至关重要。
埃里克·厄勒

3

解决此问题的方法是通过转到工具->选项->文本编辑器-> C#(或基本)->高级->取消选中“启用完整解决方案分析”来禁用完整解决方案分析。

这似乎是Rosyln团队正在处理的错误https://github.com/dotnet/roslyn/issues/10365


谢谢,我只是禁用了VS解决方案分析。您的链接有很多有用的信息。
埃里克·厄勒

2小时后==>没有内存信息,但VS重新启动后崩溃。但是,在禁用完整解决方案分析后,我没有重新启动。现在完成了:-)!
埃里克·厄勒

1
我不知道它是否可以修复内存消息错误。但这肯定不能解决内存问题,这种问题不可避免地会在一段时间后发生(例如我的情况是4个小时)。并最终锁定并死亡。一个错误仍然存​​在。它不能解决问题。(2016年4月26日,尝试解决方法后6个小时)。
埃里克·厄勒

1
得到它了!尽管已禁用我的完整解决方案分析,但“检测到内存不足。为此解决方案禁用了完整解决方案分析”。太慢了,我不得不关闭并重新启动。很有生产力!!!仅一个小时后。
埃里克·厄勒

谁能解释“启用完整解决方案分析”的实际作用?我已经禁用了它,但是我也收到“检测到内存不足”消息。
Craig W.

3

我读过一些文章描述此问题超出了虚拟地址空间,因为某些内部存储器结构(可能是List)超过了2GB。2GB是32位进程(如VS 2015)的默认虚拟地址空间。但是您可以将其最大调整为3GB。

我找到的解决方案是从这里

Start▸All Programs▸Accessories▸right-click on Command Prompt▸Run as administrator

Run the following command:

bcdedit /set IncreaseUserVa 3072

Restart the computer.

这不是100%的解决方案,因为即使有3GB的RAM用于一个进程,您最终也可能用完虚拟地址空间。调整此开关后,VS不再抱怨内存。


感谢Ognyan,它可能会给您更多时间,但我不知道它的缺点。它没有,为什么微软不会设置它们自己设置?我宁愿等待更强大的解决方案。但也许有些人会喜欢它并尝试。作为附带说明,它看起来仅适用于Windows的32位版本(如第一句话中所述)???我有Windows 7 64位系统
Eric Ouellet's

1
我的猜测是,在只有4 GB可寻址内存的32位系统上,没有其他选择。现在,我有一台具有32G RAM的计算机,并且可以为该进程提供更多的内存,这将是一个足够的可用空间。您可以在链接上阅读以下内容:“在Windows的32位版本上,应用程序具有4 GB的虚拟地址空间可用。虚拟地址空间被划分为2GB可供应用程序使用,而其他2GB仅适用于系统。”
Ognyan Dimitrov

这听起来很有趣!如果/当vs2015再次崩溃时,将尝试使用。谢谢!
罗曼

1
@ OgnyanDimitrov,Windows发布了一个新的更新,该更新修复了VS2015崩溃。结果,我没有尝试此解决方案。
罗马

@OgnyanDimitrov,这是一个常规的Windows更新。在5月9日至12日左右,他们发布了大量更新(大约30个),其中一个(或几个)是修复程序。确保已安装所有Windows更新。
罗马,


2

我的答案是关闭并打开Visual Studio。

我没有选中“启用完整解决方案分析”,并且仍收到Visual Studio消息“检测到内存不足。为此解决方案禁用了完整解决方案分析”。Visual Studio 2015版本是14 Update2。我发现必须关闭VS。

VS无法打开TFS任务,除非关闭并重新打开VS,否则我无法检入代码。幸运的是,我有一个新的固态硬盘驱动器,因此VS关闭/打开不会让我像以前那样费时费力。但是仍然令人失望。


2
谢谢,但这就是我已经在做的。我正在寻找一种不太麻烦的解决方案:-)!
埃里克·欧埃莱特

0

我已经忍受了一段时间。使用TypeScript文件时,我会看到内存使用率稳定上升,最终导致崩溃。如果这是您的情况,请检查项目中是否有rxjs。如果版本是5.0.0-beta.2,则升级到5.0.0-beta.3(或更高版本)进行修复。

更多详细信息:https : //github.com/Microsoft/TypeScript/issues/7344#issuecomment-198392320


我仅与WPF合作,您在谈论参考吗?如果是的话,我在任何项目中都从未引用过rxjs。
埃里克·厄勒

0

我希望我有一个神奇的子弹。但是,这里有什么帮助了我,但是现在总是可以解决问题。VS2015更新2。Resharper 2016.1.1。所有项目均为vNEXT。

  1. 在Resharper->选项->代码检查->设置中。添加尽可能多的wwwroot文件夹。我还在wwwroot下添加了每个文件夹,因为它似乎没有级联。在文件掩码中,添加任何框架* .js或* .css(即* .min.js,* jquery.js,* angular.js,*。min.css)。当我使用Gulp,Grunt进行发布来构建js / css时,这一步骤有助于减少resharper所做的“加载源文件”。

  2. 这不是理想的选择,但是当我编写代码并且不打算进行测试时,通常在测试中,我将卸载所有未使用的项目。这似乎减少了reshaper / vs使用的“托管内存”。

  3. 最后,令人讨厌的是,我从不查看VS解决方案资源管理器中bower_components下的文件。我发现直接转到该文件夹​​并使用VSCODE之类的内容来进行JS / JSON查看可以节省我的时间和沮丧的时间。它使我相信,尽管node_modules和bower_components被“忽略”了,但它们实际上并没有被忽略,或者与项目目录中文件的数量有关。

我期待着100%的解决方案,但希望这些帮助。


我正在更新我的经验。我禁用了ReSharper工具->选项。已安装CodeMaid。我仍然遇到内存不足的错误。确实需要花费更长的时间才能得到该错误,但我认为这不是Resharper的问题,但确实认为Resharper可以更快地使它发生。这里还没有解决方案,但是我很高兴这不是Resharper的错(本身)。
Rentering.com
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.