.Net EXE中发生本机异常

时间:2013-10-22 15:21:55

标签: c# .net sql-server-ce windows-ce sqlcedatareader

我开发了一个C#.net windows窗体应用程序,用于从/向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 个答案:

答案 0 :(得分:4)

这几乎总是由您在PC上编译的内容与您在设备上部署的内容之间的SQL CE版本差异引起的。确保项目引用和设备上的SQL CE版本号相同。通常我不会从引用中的“.NET”选项卡添加引用,但我特意浏览引用,因此我知道正好正在使用哪个文件,然后从同一位置手动部署SQLCE设备。

* 修改

您应该查找要部署的文件的位置在这里:

  

C:\ Program Files(x86)\ Microsoft SQL Server Compact Edition \ v3.5 \ Devices \ wce500 \ armv4i

您的项目参考应指向此处:

  

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