Message="无法找到 PInvoke DLL“sqlceme35.dll”。

xymao123 2008-12-11 04:27:23
我在wince5.0的设备上想应用sqlserverce,
SqlCeConnection conn = null;
try
{
if (File.Exists("Test.sdf"))
File.Delete("Test.sdf");
SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf");
engine.CreateDatabase();
conn = new SqlCeConnection("Data Source = Test.sdf");
conn.Open();
程序在执行到
SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf");时,
提示错误
未处理 System.MissingMethodException
Message="无法找到 PInvoke DLL“sqlceme35.dll”。"

我在CSDN上搜了一下相同问题的解决方法:
1. 将D:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0\wce500\armv4i目录下的拷贝到设备上进行安装,包括安装到SD卡和设备的windows目录
sqlce30.wce5.armv4i.CAB
sqlce30.repl.wce5.armv4i.CAB
sqlce30.dev.CHS.wce5.armv4i.CAB
2. .net环境安装D:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\wce500\armv4i\NETCFv2.wce5.armv4i.cab
3. 将D:\Program Files\Microsoft Visual Studio 8\Common7\IDE目录下所有sqlce*.dll文件拷贝到设备的windows目录和程序运行目录,
4. vs2005的项目中对System.Data.SqlServerCe是否复制到本地设置为false
5. 通过vs2005自动部署到设备
6. 将sqlserverce的版本换成3.5的版本
7. 通过vs2008自动部署.net3,sqlce3.5

几种方法都尝试过,还是没有成功,相同的程序部署到windowsmobile6的智能手机上,如果手机上安装sqlserverce3.5,程序正常运行,如果安装sqlserverce3.0,则报同样的错误。
我的开发环境是vs2005,sqlexpress2005,.net2.0,sqlserverce安装3.0,3.5两个版本,在wince的设备总是报错。

问题的原因在哪里?设备问题,.net版本问题,sqlce版本问题,还是.net版本和sqlce版本匹配问题,
请各位遇到过相同问题且已经解决的帮我看看,实在不行,就只能通过文件来处理了

...全文
3755 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
RayPeng08 2012-06-11
  • 打赏
  • 举报
回复
这个问题解决很简单,下面这几个文件,下载,然后按顺序安装在设备上就OK了~
http://download.csdn.net/detail/pengzelong/4005309
panhj825 2012-06-08
  • 打赏
  • 举报
回复
VS 2005里面自带的SQL CE是3.0版,到了VS 2008的SQL CE 3.5居然不兼容3.0的
caomuhui123 2012-04-07
  • 打赏
  • 举报
回复
我的是真机 wince6.0 问题解决了 可以参考这里 http://aigudao.net/?post=6
kurorolove 2011-11-19
  • 打赏
  • 举报
回复
加我,我给你们发dll就搞定了
lxwcoco 2011-08-24
  • 打赏
  • 举报
回复
求解决方法
lxwcoco 2011-08-20
  • 打赏
  • 举报
回复
也遇到了 这个问题
如梦_ls 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 tankaixiong 的回复:]
这个其实是一个很简单的问题,我也遇到过,然后就解决了,给大家分享一下
vs05 默认的是 3.0sqlce
vs08 则是3.5
不同环境,不同的sqlce.dll是不兼容的
有时模拟器的环境与你引用的sqlserverce.dll不一致(版本问题),所以你要重新引用其dll
这里请注意,只能引用 .net 组件中的sqlserverce 不要浏览找自己的dll,重新开下
然后,你在……
[/Quote]
找不到Microsoft Visual Studio 8\SmartDevices这个目录啊,试了多台电脑还是找不到这个呀
zhaozheng_2008 2010-11-25
  • 打赏
  • 举报
回复
在做成安装文件时,将sqlserver compart 导入进去就可以了。
  • 打赏
  • 举报
回复
这个其实是一个很简单的问题,我也遇到过,然后就解决了,给大家分享一下
vs05 默认的是 3.0sqlce
vs08 则是3.5
不同环境,不同的sqlce.dll是不兼容的
有时模拟器的环境与你引用的sqlserverce.dll不一致(版本问题),所以你要重新引用其dll
这里请注意,只能引用 .net 组件中的sqlserverce 不要浏览找自己的dll,重新开下
然后,你在 vs 的安装目录..Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0\wce400\armv4
安装到设备中,一切就OK了,还有问题的话,请给我留言
zgty1h 2010-04-26
  • 打赏
  • 举报
回复
试的头都大了几圈了 还是没有解决啊 为什么啊到底
marsreallove 2010-03-22
  • 打赏
  • 举报
回复
我也遇到了这个问题,很头痛啊,不知怎么解决!!!!!不知道哪位解决了,请指点下方法
homefin 2010-03-10
  • 打赏
  • 举报
回复
郁闷啊 我也遇到了这个问题 不知道怎么搞!
liuhongwei90 2010-02-08
  • 打赏
  • 举报
回复
在你的vs安装目录 查找sqlceme35.dll 拷贝到模拟器的windows 目录下 暂时可以解决 退出模拟器的时候 保存一下 以后就不用再往进拷贝了 这是个简单的办法。。 我想批评下那些牛人。。。 要将问题就讲到清清楚楚 别不清不楚的就发出来 本来不用走弯路。。叫你指来指去 好久也弄不好
liuhongwei90 2010-01-23
  • 打赏
  • 举报
回复
郁闷 咋处理的呀 我这 刚刚还好好的 跑了十几个线程 测试了下性能 就完蛋了。。 郁闷死了
youhua2 2009-05-20
  • 打赏
  • 举报
回复
遇到同样问题
haihaomeiyou1 2009-01-17
  • 打赏
  • 举报
回复
我 现在 就 遇到这样 类似的问题,不 知道lz已经解决 没有没有
xymao123 2008-12-31
  • 打赏
  • 举报
回复
有人回复说是wince上没有安装支持3.0或3.5的其它组件,具体是哪些组件没有明确指出.
信星 2008-12-25
  • 打赏
  • 举报
回复
不知你是否已解决此问题。
小弟我也遇到这个问题!
xymao123 2008-12-12
  • 打赏
  • 举报
回复
早上又到微软的网站下载了CF2 SP2重新做了一遍
http://www.microsoft.com/downloads/thankyou.aspx?familyId=aea55f2f-07b5-4a8c-8a44-b4e1b196d5c0&displayLang=zh-cn
还是不行。

还有什么别的地方做的不对?
xymao123 2008-12-12
  • 打赏
  • 举报
回复
wince设备的处理器是samsung arm920
加载更多回复(12)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧