我在VS2010中有一个ASPMVC项目(vb.net;如果有区别,则为ASPMVC-2)。 好几年了,但现在我的状况很奇怪。 如果我执行以下操作:
然后,该站点可以在前几个步骤中正常运行,但是当到达某一行代码时,它将引发System.ExecutionEngineException。 然后,开发服务器停止运行(我只看到execption,因为VS处于调试模式-Web浏览器仅显示“无法连接”,并且通常将错误记录到数据库的操作过滤器也没有运行,因为整个Web服务器进程都无法运行出来)。 如果我在不做任何更改的情况下,简单地将VS放回调试模式,则它可以完美运行,而不会在有问题的命令上抛出任何异常。 几乎每次都会发生这种情况(例外是,如果我重新启动开发服务器就总是可以的)。
引起问题的行是在类型为SortedDictionary(Of Integer,String)的对象上使用.ContainsValue()的if语句。
完整的异常消息是:
System.ExecutionEngineException was unhandled
Message=Exception of type 'System.ExecutionEngineException' was thrown.
InnerException:
我在MSDN上能找到的就是这种异常永远不会发生! Googling抛出了几个遇到此异常的人,有时会绑定到特定的计算机,但没有真正的解释。 我以前没有遇到过问题,并且已经在此机器上开发此站点已有几年了。 在该版本中,触发异常的行是新的,因此可能不会多说。
有人有什么想法吗? 它始终可以在干净的开始时使用,这一事实让人感到有些安慰,但是直到我知道为什么这样做并可以阻止它时,我对代码的发布并不满意。