【问题标题】:A native exception occurred in .Net EXE.Net EXE 中发生本机异常
【发布时间】:2013-10-22 15:21:54
【问题描述】:

我开发了一个 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 安装文件”。

希望我解释清楚。有人可以帮我吗?

【问题讨论】:

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


    【解决方案1】:

    这几乎总是由您在 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

    【讨论】:

    • 我这样做了,现在显示“找不到 P/Invoke DLL sqlceme30.dll”,我该如何解决这个问题?
    • 检查了这个:social.msdn.microsoft.com/Forums/sqlserver/en-US/… 我没有在这个位置找到 cab 文件:C:\Program Files (x86)\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0 \wce400\armv4 ,它的所有 ZIP 文件。这个怎么安装?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多