Linq:{“操作可能破坏运行时的稳定性。”}

时间:2009-12-11 07:27:23

标签: c# asp.net-mvc linq

在我的App中,我在调试时遇到了这个例外: {“操作可能会破坏运行时。”}在foreach循环中:

  

foreach(模型中的var项目)

当我第一次将模型悬停在debugmode中时 我说:

  

ResultView =>延长结果视图将会产生可摧毁的

        base=>Operation Could not destabilize the runtime.

再悬停几次后,获取ResultView显示我的数据。 多数民众赞成在我的调试模式......

当我在没有调试的情况下运行我的应用程序时,它会覆盖模式,它会抛出此异常

这是什么意思?

更新 该模型是IQueryable它仍然无法工作,只有当我是我的调试模式

2 个答案:

答案 0 :(得分:7)

可能意味着我在为表达式树实现代码生成器时犯了一个错误。当表达式树lambda变成委托时,我们将IL动态地吐入委托主体。如果IL代码格式不正确且无法验证,那么运行它可能会使抖动生成错误的代码,从理论上讲,这可能会破坏运行时的稳定性。我以为我们抓住了所有无法验证的代码缺陷,但有可能会有一些缺陷。

如果你有一个简单,简单,独立的问题重复,看起来它与上面的诊断相符,请通过我博客上的联系链接给我发一封电子邮件,我会在上面输入一个错误现在拥有IL生成代码的团队。理想的repro只是生成违规表达式树lambda,编译它并获得异常的代码。

谢谢!

答案 1 :(得分:4)