使用所有cpu的VS 2015 Update 3 vbcscompiler.exe

Far*_*ukh 6 c# code-analysis visual-studio-2015

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

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

这冻结了我的电脑,我不能做任何事情10-20秒,这是非常令人沮丧的.

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

-------------- 4/12/2017更新--------------

vbcscompiler.exe的单个实例正在运行.适用于Windows服务; 网络服务; 控制台应用.大小解决方案.

见下面的任务管理器截图. 在此输入图像描述

小智 2

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

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

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

<PropertyGroup>
    <UseSharedCompilation>false</UseSharedCompilation>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

另外,之前还有一篇文章,你可以看看。

使用此处的解决方案检查您的配置和所有内容,看看它们是否匹配:

VBCSCompiler.exe 的多个实例