Защо получавам грешка „необработено изключение от тип system executionengineexception in system data dll“?

Пиша персонализиран компонент (DLL) за услуги за интеграция на SQL Server и когато се опитвам да отстраня грешки в компонента, получавам следната грешка:

В System.Data.dll възникна необработено изключение от тип „System.ExecutionEngineException“

Когато стартирам компонента без отстраняване на грешки, не получавам тази грешка и частта от код, която задейства тази грешка при отстраняване на грешки, е вторият ред на този код:

DataTable table;
table = new DataTable();

Опитах да стартирам това: http://www.microsoft.com/en-au/download/details.aspx?id=30135, но все още получавам грешката.

Също така създадох прост проект за Windows form със следния код:

       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);

и не срещам грешката, когато отстранявам грешки. Някой знае ли защо получавам тази грешка и как мога да отстраня грешки в кода си?


person Cooper Cripps    schedule 18.10.2013    source източник
comment
Към коя версия на .NET Framework сте се насочили?   -  person Icemanind    schedule 19.10.2013
comment
@icemanind Насочване към 4.0   -  person Cooper Cripps    schedule 19.10.2013
comment
@CooperCripps: успяхте ли да разберете причината зад този проблем?   -  person dhiraj suvarna    schedule 11.01.2018
comment
Получавам това, когато се опитам да започна отстраняване на грешки в моя webapi, но вече имам клиент, който се опитва да говори с него. Това по някакъв начин запълва моя dbcontext   -  person Purusartha    schedule 06.08.2019


Отговори (3)


Обикновено това се причинява от компилиране на 64-битов асембли и опит да се използва от 32-битов процес или обратното.

person Andy    schedule 18.10.2013

Имах този проблем точно като Cooper Cripps заяви, моят се случва, когато отстранявам грешки в приложение в режим x64 и тази грешка се появява, когато достигна conn.Open().

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

но все още работи, ако не прикача програма за отстраняване на грешки (стартирайте с Ctrl+F5). Накрая този проблем беше решен чрез нулиране на потребителските настройки, използвайки по-долу:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv" -нулиране на настройки Общи

person IcyBrk    schedule 28.12.2018

Изглежда, че опцията Debugging->General „Use Managed Compatibility Mode“ може да причини тази грешка, ако е отметната. Той използва по-стара машина за отстраняване на грешки и тази машина за отстраняване на грешки очевидно не работи добре с неща в System.Data.dll.

person Bryce Wagner    schedule 06.02.2019