3

私のコードは、LINQ to SQL を使用してデータベースから読み込もうとしています。クエリが返すものに触れるとすぐに、エラー ExecutionExceptionError でクラッシュします。

問題

現在、私のコードは非常に単純です。単一のテーブル MC をロードするための標準の dbml クラスがあります。

 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

したがって、問題はVisual Studio 2013のプレビューのインストールが原因であることが判明し、それをアンインストールすると、ソリューションはVisual Studio 2012で再び完全に機能しました

助けてくれてありがとう!

于 2013-07-30T12:10:24.793 に答える
0

ExecutionEngineExceptionCLR の内部の問題を示します。次のいずれかを意味します。

  1. 安全でないコードまたは PInvoke を使用して、メモリの破損を引き起こしました。CLR のデータ構造が壊れています。
  2. 他のライブラリがこれを行いました (バグ)。
  3. CLR 自体のバグ。

いずれの場合も、解決策は問題を回避することです。おそらく、アプリケーションが壊れるまでランダムに変更することで解決できます。コードをリファクタリングしてみて、エラーが消えるまでコメントアウトしてください。物事を新しい方法に分解します。使用しているライブラリが安全でないことを行っている可能性があるかどうかを考えてください。おそらく、スタック トレースによって、回避すべき機能がわかります。

これは非常に非方法的なアプローチですが、私が知っている最善の方法です。あなたは何も悪いことをしていないので、回避するのは非常に困難です。特に、あなたが示したコード行は、通常、メモリの破損を引き起こすことはありません。

于 2013-07-30T11:28:05.917 に答える