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