3

我的代码正在尝试使用 LINQ to SQL 从数据库加载。目前,一旦我似乎触及查询返回的内容,我就会崩溃,并出现错误 ExecutionExceptionError 发生:

问题

目前我的代码非常简单,我有一个标准的 dbml 类,用于加载单个表 MC:

 private void RibbonButton_Click(object sender, RoutedEventArgs e)
    {
        MultipleChoiceDataContext t = new MultipleChoiceDataContext();
        var test =
            from a in t.GetTable<MC>()
            select a;

        testbox.Content = test.First().question;
    }

错误发生在

test.First().question;

我在该地区找不到任何帮助或以前遇到过这个问题的人,所以我希望有人知道如何解决这个问题

4

2 回答 2

0

ExecutionEngineException表示 CLR 的内部问题。它意味着以下之一:

  1. 您使用了不安全的代码或 PInvoke 导致内存损坏。CLR 的数据结构现在已损坏。
  2. 其他一些图书馆这样做(一个错误)。
  3. CLR 本身的一个错误。

在所有情况下,解决方案都是解决该问题,可能是通过随机更改内容直到应用程序正常运行。尝试重构你的代码,注释掉一些东西,直到错误消失。把事情分解成新的方法。想想你正在使用的库是否在做不安全的事情。也许堆栈跟踪可以告诉您要避免哪些功能。

这是一种非常不合逻辑的方法,但是我所知道的最好的方法。很难解决,因为您没有做任何具体的错误。特别是,您显示的代码行通常不会导致内存损坏。

于 2013-07-30T11:28:05.917 回答
0

原来问题是由于安装了 Visual Studio 2013 的预览版,卸载它后,该解决方案在 Visual Studio 2012 上再次完美运行

感谢所有的帮助!

于 2013-07-30T12:10:24.793 回答