我有 Visual Studio 2015 版本 14.0.25431.01 更新 3。当我使用我的解决方案时,它会随机开始使用所有 CPU。有时当我不在 VS 窗口中,或者只是在输入代码时。
如果我打开任务管理器,我会看到 vbcscompiler.exe 正在使用 90-100% 的 CPU。我有 Intel Core i7 2.7GHz 8 核,我认为它应该能够毫无问题地处理它。
这会冻结我的计算机,并且我在 10-20 秒内无法执行任何操作,这非常令人沮丧。
有人知道可能是什么问题吗?
--------------2017 年 4 月 12 日更新--------------
vbcscompiler.exe 的单个实例正在运行。 发生在 Windows 服务中;网络服务;控制台应用程序。大型和小型解决方案。
我刚刚对这个问题进行了一些挖掘。看起来根本原因是 Roslyn 编译器的一个新功能,它在构建完成后保留编译器进程。随着时间的推移,内存消耗会不断累积,据我所知,没有什么会真正杀死编译器,即使其主机进程终止也是如此。
VS 很可能对此进程有某种内置感知,允许它在 IDE 关闭时专门终止它。
无论如何,这个行为是可以关闭的。坏消息是这需要在项目 XML 内部完成。我意识到您正在开发一个非常大的解决方案,因此如果您有一个共享的构建文件,那么这将是理想的选择,但否则您需要将以下内容放入每个项目中:
<PropertyGroup>
<UseSharedCompilation>false</UseSharedCompilation>
</PropertyGroup>
还有之前的另一篇文章,也许你可以看看。
使用此处的解决方案检查您的配置和所有内容,看看它们是否匹配:
有时 cahsh 文件和用户设置可能会崩溃。因此,您必须按照以下链接的步骤来解决问题。