当我尝试快速查看变量时,VS 2012调试器挂起

Mac*_*gon 25 .net c# .net-3.5 visual-studio-2012

今天下午我遇到了一个非常烦人的错误.我一直在控制台应用程序上随便工作我现在正在工作一段时间,当我快速观察任何变量时,VS2012调试器完全没有任何原因.它挂起15-20秒,然后我收到消息

由于先前的功能评估超时,因此禁用功能评估

如果我然后按F10,调试器取消附加并继续进行.它几乎崩溃了所有隐式声明的变量

这是我到目前为止解决这个问题的步骤.

我采取的步骤:

  • 重启VS.
  • 重新启动计算机
  • 删除了所有断点
  • 删除了ncb和suo文件
  • 符号服务器未启用
  • 没有使用网络位置,用户文件是本地的,项目文件是本地的.
  • 启用/禁用我的代码
  • 确保启用.NET Framework源步进未启用
  • 确保启用了步骤属性
  • 确保未启用启用源服务器支持
  • 使用/ SafeMode启动visual studio以禁止扩展
  • 清理观察窗(无论如何都是空的)
  • 尝试将目标平台更改为x64和任何CPU
  • 禁用antivius
  • 重置visual studio默认设置(devenv.exe/ResetSettings)
  • 重新安装VS.

我正在调试的应用程序:

  • 键入:C#控制台应用程序
  • 目标框架:3.5
  • 平台目标:x86

为了我的健康,请帮忙.

编辑:我有Visual Studio Update 3,版本11.0.60610.01

编辑:我的电脑规格

  • Windows 7旗舰版64位
  • 戴尔Optiplex 960
  • 英特尔酷睿i5-2400 3.1 Ghz
  • 4 GB RAM

编辑:我测试了两台机器(相同的代码)没有可视工作室更新3一个工作,一个没有.

编辑:创建了一个简化的控制台应用程序,其设置相同,只包含以下代码行.我在看的时候遇到悬挂问题,然后它也无法连接.我的机器出了什么问题?

这是一个挂起调试器的简化应用程序

static void Main(string[] args)
 {
   var _AppLocation = System.Reflection.Assembly.GetEntryAssembly().Location;
    _AppLocation = _AppLocation.Substring(0, (_AppLocation.Length -
     (System.Reflection.Assembly.GetEntryAssembly().GetName().Name.Length + 5)));

   var directoryInfo = new DirectoryInfo(_AppLocation);
   Console.ReadyKey(); //I break here, check the directoryinfo
 }
Run Code Online (Sandbox Code Playgroud)

编辑10/3/13:这仍然没有解决,重新安装一切(办公室,框架,vs)完全没有解决问题.它必须是与OS /硬件相关的vs2012错误.我会在微软开一张票,如果发现有用的东西就会更新.

编辑10/30/13:此问题已在具有不同硬件配置的两台计算机上重现.我仍然与微软联系以找到问题.看起来像是框架/ windows build/visual studio的相关内容.

编辑11/19/13:我仍然与Microsoft VS升级团队联系,这里是流程监控日志和Visual Studio故障转储问题.http://sdrv.ms/1egpX4O

Mac*_*gon 5

解决方案与Microsoft VS Escalation团队并行发现.在分析崩溃转储和进程监视器之后,VS 2012调试器进程似乎检查了商店证书以获取Microsoft Root Authority证书.

由于两台计算机都处于受保护的无互联网环境中,因此它们都没有在线连接.因此,他们从未下载过Microsoft CA. 由于CA不在商店中,因此导致调试器因特定的3.5目标框架而挂起并崩溃.

以下是Microsoft VS团队在调试时绕过此检查的修复:(在应用程序app.config中添加)

<configuration>
    <runtime>
            <generatePublisherEvidence enabled="false"/>
    </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)

问题解决了!