C#+SQLite.dll 太变态了!求高手解决啊

恶猫 2013-03-21 12:42:54
未能加载文件或程序集“file:///E:/采集器/bin/Debug/System.Data.SQLite.dll”或它的某一个依赖项。试图加载格式不正确的程序。 行 247,位置 5。 E:\采集器\Main.resx 247 5

我二个本本。
都是win7 + 64 + vs2010 环境一样的。

可是 一样的程序。在另一台电脑就可以。在我现在的新本本上就是不行。就是加载sqlite.dll错误 。

而经过加密过后的,在我电脑上又可以运行。但是我是开发的啊,本机调试一定要的。可是现在生成,运行,都不行了。。。。。

上面那狗屁提示,打开Main.resx 中,247行。根本没东西。搜索,整个resx里也没有sqlite.dll的

咋解决啊。。。。

32,64平台,这破sqlite咋整。求高手给个解决文案啊。
...全文
4552 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiangth 2014-03-27
  • 打赏
  • 举报
回复
System.Data.SQLite.dll 是要分32,64位的,生成项目的时候,any cpu 默认64位, x86 代表32位,本人亲测,64,32位都没有问题
恶猫 2013-03-23
  • 打赏
  • 举报
回复
恶猫 2013-03-23
  • 打赏
  • 举报
回复
全搞定了。xp,win64,32都可以正常运行了。 解决文案是。 1. 准备好当前OS可以用的sqlite.dll 先引用着。 2. 准备好 sqlite.32.dll 与 sqlite.64.dll 备用在一边 3. 在main.cs 中,判断OS是32,或64位的。。然后拷贝对应的DLL覆盖当前的sqlite.dll 4. 最后 main.cs 中 new Form() 就OK了。 测试全部通过。恩。最后小小广告一下 http://emao.me 我的博客
DENQH 2013-03-22
  • 打赏
  • 举报
回复
你用的是Net4.0 Client, SQLite Version=1.0.84.0不支持,你的程序改为4.0,再下SQLite for netFx4.0安装就行了。
  • 打赏
  • 举报
回复
引用 21 楼 minghao1039 的回复:
求个没签名的SQLITE啊!!!!!!!!!!!!! 64,32位的。都要。拜托拜托。百度没找到。
你不是安装过了吗,你把项目中引用的,或者所有用到那个资源的地方全部移除,重新添加你新安装的bin目录下那个
DENQH 2013-03-22
  • 打赏
  • 举报
回复
在X86系统下 SQLite Version=1.0.84.0不支持,要改为NET4.0,不是Client,再下个SQLite for netFx4.0安装,什问题也没有。这个问题也曾困扰我几天。
callmesai 2013-03-22
  • 打赏
  • 举报
回复
我以前也试过这个问题 开始以为是没有编译为64位版本 后来才现在还是System.Data.SQLite.dll这个dll没有放到程序目录下 或者你看看你的配置文件里的sqlite版本和你的System.Data.SQLite.dll版本是不是一致
恶猫 2013-03-22
  • 打赏
  • 举报
回复
原工程就是。x86的啊!!!!!!!!! 只是从老本,拷到新本的,就死活不行了。 只要是x86。就显示错。无法加载。而错误源是 Main.resx
jshyjyw 2013-03-22
  • 打赏
  • 举报
回复
百度了才知道还有sqlite这个东西。不懂也用不到。帮顶。
liucuiqiang 2013-03-22
  • 打赏
  • 举报
回复
VC++2010 sp1环境没装吧
tcmakebest 2013-03-22
  • 打赏
  • 举报
回复
费什么事啊,把 Any CPU 改成 X86 就完了。
恶猫 2013-03-22
  • 打赏
  • 举报
回复
杯具 啊。。。。。 GAC注册完了。。。dll拷到c:\windows下面了。 注册完了。 再用VS编译,还是不通过。。。尼码,这二机器一样的啊。为啥那个就能用。这个不能用。用的都是一个工程的文件。。。。日日日日日啊
恶猫 2013-03-22
  • 打赏
  • 举报
回复
楼上几个兄弟都是不甚了解啊。我之前的软件在老本本上时,就一个DLL通杀XP,WIN7啊。 新本上不知道咋回事了。连我本机编译都通不过了。别的配置都是一样的。 现在只感觉assembly里 不一样。正在尝试别的。肯定可以一个DLL就行的。 另外,网上也有办法,准备三个DLL。然后程序的app.config会自动根据平台配置,选择相应的dll 不过我是没研究明白,总通不过。但是效果看到一点还。 等搞定了再来回吧。
王子文龙 2013-03-21
  • 打赏
  • 举报
回复
我这一个项目也报这个错误,后来换成32位系统好了
恶猫 2013-03-21
  • 打赏
  • 举报
回复
现在生成是可以了。没错。 可是运行还是不行。 表现是:表单load事件不管用。 点按钮操作数据库的时候,直接报错。 未能加载文件或程序集“System.Data.SQLite, Version=1.0.84.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139”或它的某一个依赖项。试图加载格式不正确的程序。 唉!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (楼上楼上的兄弟没看清吧,我这可以运行加密过后的软件。没加密的却不行。郁闷啊)。 按理说我的sqlite.dll 没错的啊。为啥就不行了。。。。。
恶猫 2013-03-21
  • 打赏
  • 举报
回复
兄弟。程序目录下有的。 我刚去官网下了个sqlite 3.5的 64 位dll
gxingmin 2013-03-21
  • 打赏
  • 举报
回复
另一台机器上也需要安装sqlite 程序目录下需要把System.Data.SQLite.dll拷过去
winner2050 2013-03-21
  • 打赏
  • 举报
回复
SQLite dll 不能同时兼容x64和x86. 根据平台使用不同版本。
恶猫 2013-03-21
  • 打赏
  • 举报
回复
找到原因了。是一个朋友帮我远程弄了半天才找到原因。 我用了xptable(32位) 。又用了sqlite(64) 。。 生成的时候。选any cpu 就行了。
idragonet 2013-03-21
  • 打赏
  • 举报
回复
System.Data.SQLite.dll 分32、64版本的。
加载更多回复(21)

110,552

社区成员

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

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

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