1

SQL Server 統合サービス用のカスタム コンポーネント (DLL) を作成しています。コンポーネントをデバッグしようとすると、次のエラーが表示されます。

System.Data.dll で、タイプ 'System.ExecutionEngineException' の未処理の例外が発生しました

デバッグせずにコンポーネントを実行すると、このエラーは表示されず、デバッグ時にこのエラーを発生させるコードは、次のコードの 2 行目です。

DataTable table;
table = new DataTable();

http://www.microsoft.com/en-au/download/details.aspx?id=30135を実行してみ ましたが、それでもエラーが発生します。

また、次のコードを使用して単純な Windows フォーム プロジェクトを作成しました。

       DataTable table;
       table = new DataTable();
       table.Columns.Add("Dosage", typeof(int));
       table.Columns.Add("Drug", typeof(string));
       table.Columns.Add("Patient", typeof(string));
       table.Columns.Add("Date", typeof(DateTime));

        table.Rows.Add(25, "Indocin", "David", DateTime.Now);
        table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
        table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
        table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
        table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);

デバッグ中にエラーは発生しません。このエラーが発生する理由と、コードをデバッグする方法を知っている人はいますか?

4

3 に答える 3

2

通常、これは 64 ビット アセンブリをコンパイルして 32 ビット プロセスから使用しようとした場合、またはその逆の場合に発生します。

于 2013-10-18T23:18:49.287 に答える
1

この問題は Cooper Cripps が述べたのとまったく同じでした。x64 モードでアプリケーションをデバッグしているときに発生し、conn.Open() に到達するとそのエラーがスローされます。

using(var conn = new SqlConnection(connString)){ conn.Open(); }

ただし、デバッガーをアタッチしなくても機能します (Ctrl+F5 で実行)。最後に、この問題は、以下を使用して userSettings をリセットすることで解決されました。

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv" -resetsettings 全般

于 2018-12-28T18:53:50.253 に答える