我一直在试图与Visual Studio 2005中的SQL Server CE的工作在过去的4,连续工作5小时。但没有运气。当我运行我的应用程序时,出现以下错误:无法获得的SQL Server CE到与Visual Studio 2005和Windows CE 5.0
Can't find PInvoke DLL 'sqlceme35.dll'
我已阅读过无数的线程和文章,但无法使其工作。使用以下工具:
- 的Windows CE 5.0的设备运行英特尔Bulverde的处理器
- 的Windows XP 32位与Visual Studio 2005
- 的SQL Server Compact 3.5
这里是我做的。
- 创建一个新的“智能设备”项目,并选择“Windows CE 5.0中”
- 安装的SQL Server Compact 3.5(在Windows XP),里面装了一堆文件夹和文件
- 在我的项目,我添加的以“System.Data.SqlServerCe.dll”,这是SQL Server精简3.5安装
文件夹内的一个参考。然后我写了几行代码,下面是我从http://msdn.microsoft.com/en-us/library/aa226134(v=sql.80).aspx
SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf"); engine.CreateDatabase(); conn = new SqlCeConnection("Data Source = Test.sdf"); conn.Open();
复制
然后我安装 “sqlce.dev.ENU.wce5.x86.CAB”, “sqlce.repl.wce5.x86.CAB” 和 “sqlce.wce5.x86.CAB” 从 “wce500 \ X86” 目标设备上这创造了一堆的DLL文件夹中的“Microsoft SQL Server精简版”
- 然后,我跑到我的计划,但上述我得到了错误。错误是由行引发SqlCeEngine引擎=新的SqlCeEngine(“数据源= Test.sdf”);
- 我想可能是我需要的所有DLL文件夹从“微软SQL Server精简版”复制到我的应用程序文件夹的目标设备上,从那里我的程序运行的,所以我复制所有文件,但还是同样的错误。
- 然后我想也许我需要使用“armv4i”而不是“x86”,所以我首先安装了“sqlce.wce5.armv4i.CAB”,“sqlce.repl.wce5.armv4i.CAB”,“sqlce”。 dev.ENU.wce5.armv4i.CAB“,正如预期的那样,它不起作用。所以我再次将所有DLL复制到我的程序文件夹中,但没有运气。
我在做什么错?
我跑了depends.exe“sqlceme35.dll”,它说3个DLL文件丢失。另外我看到如下图所示的CPU选项卡,它是说“x86”,尽管问题中的“sqlceme35.dll”来自“armv4i”文件夹。所以我想它是从桌面上显示这个处理器? http://i.imgur.com/nD87I.jpg – Ali
是的,重要的是看看它正在寻找的DLL和条目。处理器架构应该仍然是正确的。 – ctacke
以下是显示所有DLL文件(包括sqlcemeXX.dll)的设备屏幕截图,以及我正在开发的应用程序test.exe。这一次我尝试使用SQL CE 3.0,但同样的错误。我也尝试过3.5和4.0。 http://i.imgur.com/q1DC7.jpg – Ali