我写SQL Server集成服务自定义组件(DLL),并试图调试我收到以下错误组件时:
类型的未处理的异常“System.ExecutionEngineException”出现在system.data.dll
当我无需调试运行组件时调试是此代码的第二行我没有收到此错误和一段代码,衬托此错误:
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);
我没有遇到,当我调试的错误。有谁知道为什么我收到此错误,以及如何我可以调试我的代码?
通常,这是通过编译一个64位的组件,并试图从一个32位的过程或反之亦然使用它引起的。
我有这个问题完全一样库珀·克里普斯说,当我在调试模式下的x64应用一个矿井正在发生的事情,当我到达conn.Open()的错误抛出。
using(var conn = new SqlConnection(connString)){
conn.Open();
}
但如果我不附加调试器(用Ctrl + F5运行)仍然有效。最后,这个问题是由使用以下复位userSettings解决:
C:\ Program Files文件(x86)的\微软的Visual Studio 14.0 \ Common7 \ IDE \ devenv的” -resetsettings一般
看来,如果它检查Debugging->常规选项“使用管理兼容模式”可能会导致这个错误。它使用一个较旧的调试引擎,并且调试引擎显然不会在System.Data.dll中发挥好与东西。