Собственное исключение произошло в.Net EXE

Я разработал приложение C#.net Windows Form для получения и обновления данных из / в базу данных SQL Server CE. Пока я запускаю это приложение на компьютере с Windows CE 6.0, получаю следующую ошибку:

A native exception occurred in ItemDB.exe(my exe name).

Details:
Exception code : 0x80000002
Exception address: 0x40e843b4
Faulting module: sqlceme35.dll
offset: 0x000043b4

at    

NavigateMethod.GetKeyInfo(parm1,parm2,...)

at

SqlCEDataReader.FillMetaData(command)

at

sqlCeCommand.InitializeDataReader() 

Поэтому я искал в сети и нашел эту ссылку:

http://go4answers.webhost4life.com/Example/cant-find-pinvoke-dll-sqlceme35dll-49162.aspx

http://blogs.msdn.com/b/sqlservercompact/archive/2007/10/26/can-t-find-p-invoke-dll-sqlcemenn-dll.aspx

Как и было предложено, я скопировал ZIP-файл (потому что я не получил Cab-файлы) и изменил его на.Cab. Затем я попытался запустить Cab, но, как говорится, "это неверный установочный файл wince".

Надеюсь, я объяснил это ясно. Может кто-нибудь помочь мне?

1 ответ

Решение

Это почти всегда вызвано разницей версий SQL CE между тем, что вы компилировали на ПК, и тем, что вы развернули на устройстве. Убедитесь, что номер версии SQL CE идентичен как в ссылках проекта, так и на устройстве. Обычно я добавляю ссылку не из вкладки ".NET" в ссылки, а специально просматриваю ссылку, чтобы точно знать , какой файл используется, а затем вручную внедряю SQLCE из того же места на устройстве.

* РЕДАКТИРОВАТЬ

Здесь вы должны искать файлы для развертывания:

C: \ Program Files (x86) \ Microsoft SQL Server Compact Edition \ v3.5 \ Устройства \wce500\armv4i

И ссылка на ваш проект должна указывать здесь:

C: \ Program Files (x86) \ Microsoft SQL Server Compact Edition \ v3.5 \ Devices \ System.Data.SqlServerCe.dll

Другие вопросы по тегам