为什么devenv(VS2015)不断读取大文件



我正在使用VS2015,并注意到最近几周它变得无响应。它在保存源文件时会冻结几秒钟,有时会等待几分钟才能开始构建,并且在 CPU 使用率低的情况下构建非常缓慢。重新启动没有帮助。最后,我得到了procmon,发现devenv.exe正在不断读取我存储在HDD上的一些大型测试文件。 这些文件不是我解决方案的一部分,绝不是devenv的业务。 它只是按顺序读取,每秒数十MB,一个又一个文件,一旦到达末尾(几GB(,它似乎又开始读取它们。 难怪它没有响应,因为它不断将自己交换到虚拟内存!

虽然我通常不认为自己是锡箔帽旅的一员,但我对此感到担忧,特别是考虑到VS与MS用户帐户和云服务的集成越来越紧密。 有没有无辜的解释?

答案原来是内置在Visual Studio中的Git源代码管理"插件"。当 Visual Studio 检测到你的项目位于 Git 存储库中时,它会激活插件,该插件似乎会读取存储库中的每个文件。 似乎只要有更改(例如保存源文件(,插件就会重新读取存储库中的每个文件。我想这是在计算哈希或其他东西。但是显然没有缓存结果,它正在读取甚至不受版本控制的文件。所以基本上,这是Microsoft的糟糕设计。道歉会很棒。

若要禁用它,请转到"工具->选项"、"源代码管理"、"插件选择",并将"当前源代码管理插件"设置为"无"。问题和滞后立即得到解决。

最新更新