【问题标题】:VS 2015 Update 3 vbcscompiler.exe using all the cpuVS 2015 Update 3 vbcscompiler.exe 使用所有cpu
【发布时间】:2017-03-29 16:18:54
【问题描述】:

我有 Visual Studio 2015 版本 14.0.25431.01 更新 3。当我使用我的解决方案时,它会随机开始使用所有 CPU。有时当我不在 VS 窗口上时,或者只是在输入代码时。

如果我打开任务管理器,我会看到 vbcscompiler.exe 正在使用 90-100% 的 CPU。我有 8 个内核的 Intel Core i7 2.7GHz,我认为它应该能够毫无问题地处理它。

这会冻结我的计算机,我在 10-20 秒内什么都做不了,这非常令人沮丧。

有谁知道可能是什么问题?

-------------2017 年 4 月 12 日更新--------------

vbcscompiler.exe 的单个实例正在运行。 发生在 Windows 服务中;网络服务;控制台应用程序。大大小小的解决方案。

请参阅下面的任务管理器屏幕截图。

【问题讨论】:

  • 我会把它作为评论发布,虽然我不确定它是否应该是一个答案......我在完全相同的版本 Visual Studio 2015 14.0.25431.01 Update 3 上也遇到了这个问题。前两天更新。为我解决的问题(在过去几天,希望永远)是关闭自动启动页面内容下载。您也可以通过选项 -> 启动 -> 取消选中“每次下载内容”复选框来尝试。现在看起来很好,但很难说。你可以试着告诉我它是否也对你有用。祝我们俩好运
  • 感谢您的评论,但我已经取消选中“每次下载内容”。 VBCSCompiler.exe 是roseline 的一部分并编译代码,我不明白为什么它在没有任何变化的情况下随机编译,并占用所有CPU。
  • 感谢您的更新。无论如何,请记住,您始终可以重新安装它(我想您正在尝试避免这种情况)我为您交叉手指。祝你好运!
  • 你在写什么类型的应用程序?还是发生在不同类型的项目上?
  • 是什么样的项目?网一?大小?简单的“hello world”项目会出现问题吗?检查正在运行的 vbcscompiler.exe 的文件和产品版本 - 在任务管理器中查看属性,然后查看详细信息选项卡。我的版本是 1.3.1.60616。如果您有 WebApplication 项目,它们可能正在使用旧的 VBCSCompiler。还要检查 vcscompiler.exe 实例的数量....多个实例不断被创建?请参阅:stackoverflow.com/questions/31708758/… 和 forum.ncrunch.net/…

标签: c# visual-studio-2015 code-analysis


【解决方案1】:

我刚刚对这个问题进行了一些挖掘。看起来根本原因是 Roslyn 编译器的一个新特性,它在构建完成后保留了编译器进程。随着时间的推移,内存消耗会累积,据我所知,没有什么会真正杀死编译器,即使它的主机进程终止也是如此。

VS 很可能对这个进程有某种内置意识,允许它在 IDE 关闭时专门终止它。

无论如何,这种行为是可以关闭的。坏消息是这需要在项目 XML 中完成。我知道您在处理一个非常大的解决方案,因此如果您有一个共享的构建文件,那么这将是理想的,但否则您需要将以下内容放入您的每个项目中:

<PropertyGroup>
    <UseSharedCompilation>false</UseSharedCompilation>
</PropertyGroup>

还有之前的另一篇文章可能对你有好处。

在这里检查您的配置和解决方案的所有内容,看看它们是否匹配:

Numerous instances of VBCSCompiler.exe

【讨论】:

  • 正如描述所说,我遇到的是 CPU 而不是内存问题。并且屏幕截图显示我只有一个实例正在运行。所以这个答案不能解决我遇到的问题。
猜你喜欢
  • 2017-01-19
  • 1970-01-01
  • 2016-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-21
  • 2016-10-31
  • 1970-01-01
相关资源
最近更新 更多