2

我在 VS2010 中有一个 ASPMVC 项目(vb.net;如果有任何区别,则为 ASPMVC-2)。多年来一直很好,但现在我的情况很奇怪。如果我执行以下操作:

  1. 在 VS 中启动调试模式
  2. 浏览网站
  3. 停止调试,但让 asp.net 开发服务器运行,以便我仍然可以测试。
  4. 让 VS 重新进入调试模式

然后站点在前几个步骤中运行良好,但是当它到达某一行代码时,它会抛出 System.ExecutionEngineException。然后开发服务器停止(我只看到执行因为VS处于调试模式 - Web浏览器只是说“无法连接”并且通常将错误记录到数据库的操作过滤器也不会运行,因为整个Web服务器进程保释出去)。如果我不做任何更改,只需将 VS 重新置于调试模式,那么它就可以完美运行,而不会在有问题的命令上抛出任何异常。几乎每次都会发生这种情况(例外情况是,如果我干净启动开发服务器总是可以的)。

导致问题的行是一个 if 语句,它在 SortedDictionary(Of Integer, String) 类型的对象上使用 .ContainsValue()。

完整的异常消息是:

System.ExecutionEngineException was unhandled
  Message=Exception of type 'System.ExecutionEngineException' was thrown.
  InnerException: 

我在 MSDN 上只能找到这个异常永远不应该发生!谷歌搜索引发了几个遇到此异常的人,有时与特定机器相关联,但没有真正的解释。我以前没有遇到过问题,并且多年来一直在这台机器上开发这个站点。触发异常的行在此版本中是新的,因此可能不会多说。

有没有人有任何想法?它总是在一个干净的开始运行的事实有点令人欣慰,但在我知道它为什么这样做并且可以阻止它之前,我对发布代码并不满意。

4

0 回答 0