gpt4 book ai didi

c# - 打开 Visual Studio 2012 时编译时间变慢

转载 作者:可可西里 更新时间:2023-11-01 08:22:54 24 4
gpt4 key购买 nike

大家下午好

我有一个很奇怪的问题。打开 VS 2012 时,编译时间非常慢。当通过 VS 和/或直接从命令行通过 csc.exe 构建时,会出现这种缓慢的编译时间。

测试:创建一个包含以下项目的文件夹:

批处理文件 (compile.bat) 包含:

echo %time%
csc /target:library class1.cs
echo %time%

和一个 class1.cs 包含:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ClassLibrary1
{
public class Class1
{
}
}

现在打开 visual studio 命令提示符。导航到上述文件夹并运行批处理命令,无需打开 VS。在我的机器上,这大约需要 10 毫秒,非常完美。

我现在打开 VS 2012,没有打开任何解决方案,除了打开应用程序以便 devenv 正在运行之外什么都不做。

现在通过运行批处理文件重复测试,编译时间现在是 10000 毫秒(10 秒)。

我已经检查了事件查看器是否在 VS 打开时发生了任何事情,但在它关闭时没有发生,使用 procmon 和 filemon 来查找文件访问并检查了 VS 在打开时是否启用了任何服务,所有这些都没有成功/影响。

我什至尝试过卸载并重新安装 VS,这解决了前几个构建的问题,但后来又出现了。重启机器没有效果。我没有在 VS 中安装任何插件。

我同事的机器没有显示这个问题,他们有相同的设置。这一切都在具有 16gb 内存、64 位 win 7 和 SSD 的机器上运行。

有人知道吗?

最佳答案

我已经弄明白了。我相信这是某些恶意软件的结果。我通过以下步骤诊断了问题。

  1. 下载 ProcMon ( http://technet.microsoft.com/en-gb/sysinternals/bb896645.aspx )
  2. 在进程名称 csc.exe 上向 ProcMon 添加过滤器
  3. 然后我在打开 Visual Studio 的情况下从命令行运行编译。花了大约10秒,太长了!查看 ProcMon 窗口中的输出,我注意到似乎是 csc.exe 暂停了 5 秒,一次是在跟踪的开头,一次是在跟踪的结尾。查看以下屏幕:

开始:

Start

结束:

End

似乎 HKLM\SOFTWARE\Wow6432Node\5c28f8fbc6fe942 的 RegCloseKey 导致 csc.exe 等待 5 秒,两次。

注册码:

RegKey

然后我决定重命名这个条目(在末尾添加 _old),然后我重新编译....BINGO,编译时间不到 30 毫秒!

在研究了此 key 中包含的条目并进行了一些谷歌搜索后,发现此注册 key 是某些恶意软件的结果。我使用以下指南删除了恶意软件,现在问题已完全解决。

http://www.explosiveknowledge.net/main/2012/08/19/browsemngr/

请注意,上面的指南不包含正确的注册条目,我认为病毒一定是在某个时候被调整过的,我找不到指南中提到的注册条目,只是简单地删除了我想要的找到了。

请注意,注册 key 的 5c28f8fbc6fe942 部分似乎是随机生成的。如果您遇到此问题,可能会有所不同,但其中包含的值仍会谈论“浏览器管理器”。

希望这对某人有帮助!

关于c# - 打开 Visual Studio 2012 时编译时间变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12936774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com