在使用System.Data.SQLite的过程中,遇到各种问题,特此记录下。(都被搞的折寿了,不仔细看文档的下场!)

1.选对.net Framework的版本。
2.X64和X86的问题,如果项目指定了X64或者X86,则下载对应的SQLite。如果选择AnyCpu,最简单的办法是在程序运行目录下创建X64和X86目录,里面放对应的SQLite.Interop.dll。System.Data.SQLite.Dll会根据程序平台自动选择。
3.关于Visual C++ XXXX runtime的问题,因为SQLite是VC++开发,所以必须安装对应的Visual C++ XXXX runtime。如果电脑没有这个东西,则会出错。
4.还是Visual C++ XXXX runtime的问题(被恶心到了)。但是有的用户电脑已经安装了这玩意,还是会提示“Unable to load DLL 'SQLite.Interop.dll': 找不到指定的模块”的异常。怎么回事呢,我也不懂C++,貌似是什么静态连接的问题。
下载“Precompiled Statically-Linked Binaries for 64-bit Windows ”这种版本就可以了。 通过下载发现static版本的DLL都要大一些。

下面是官方对static的解释:
All the "static" packages contain either native or mixed-mode assembly binaries linked statically to the appropriate version of the Visual C++ runtime. Typically, these packages are used in cases where customer machines may not have the necessary version of the Visual C++ runtime installed and it cannot be installed due to limited privileges.

大概就是上面的意思。

"bundle"版是把System.Data.SQLite.dll和SQLite.Interop.dll打包一起的版本。
相关链接:
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
http://www.cnblogs.com/zhuweisky/p/3844089.html

2018/11/7 补充

升级版本后,发现本地运行没有问题,在服务器上会报“ 未能加载文件或程序集“System.Data.SQLite.dll”或它的某一个依赖项。找不到指定的模块
文件名:“System.Data.SQLite.dll”。找不到指定的模块”。 原因如上面第四点所说,没有装vc++runtime,下载链接(Microsoft Visual C++ 2010 SP1 Redistributable Package (x86))[https://www.microsoft.com/en-us/download/details.aspx?id=8328]

另外一个不需要安装的方式,就是把“msvcr100.dll”这个dll放到程序目录下,之前程序版本为啥不用呢? 因为在xulrunner目录下已经存在这个文件了。- -!!

System.Data.SQLite安装的相关问题的更多相关文章

  1. System.data.sqlite安装

    在这个页面可以下载安装不同版本的 http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki x86的版本可以在64位机 ...

  2. System.Data.SQLite.dll控件常规安装方法

    原文地址:http://www.jb51.net/dll/System.Data.SQLite.dll.html 文件运行必须安装   Microsoft Visual C++ 2010 SP1 Re ...

  3. 关于Visio Studio 2012使用Nuget获取Sqlite驱动包报错:“System.Data.SQLite.EF6”的架构版本与 NuGet 的版本 2.0.30625.9003 不兼容

    背景 笔者的VS2012版本比较老旧,是几年以前下载的.平时添加三方包和驱动包都是手动添加.后来了解到有Nuget这个工具,如获至宝.可是在使用过程中却出了不少问题. 最初,笔者尝试使用Nuget添加 ...

  4. 『开源重编译』System.Data.SQLite.dll 自适应 x86 x64 AnyCPU 重编译

    背景: > System.Data.SQLite.dll 程序集 不能良好的支持 AngCPU 格式 System.Data.SQLite.dll 在 适应 x86 和 x64 有三个方案: & ...

  5. 启用SQLite的Data Provider 运行WECOMPANYSITE时遇到ERROR CREATING CONTEXT 'SPRING.ROOT': ERROR THROWN BY A DEPENDENCY OF OBJECT 'SYSTEM.DATA.SQLITE'

    从网上下载的源码WeCompanySite,运行时报错 Error creating context 'spring.root': Error thrown by a dependency of ob ...

  6. System.Data.SQLite

    SQLite介绍 在介绍System.Data.SQLite之前需要介绍一下SQLite,SQLite是一个类似于Access的单机版数据库管理系统,它将所有数据库的定义(包括定义.表.索引和数据本身 ...

  7. SQLite 解决:Could not load file or assembly 'System.Data.SQLite ... 试图加载格式不正确的程序/or one of its dependencies. 找不到指定的模块。

     Could not load file or assembly 'System.Data.SQLite.dll' or one of its dependencies. 找不到指定的模块. 错误提示 ...

  8. System.Data.SQLite数据库简介

    SQLite介绍 在介绍System.Data.SQLite之前需要介绍一下SQLite,SQLite是一个类似于Access的单机版数据库管理系统,它将所有数据库的定义(包括定义.表.索引和数据本身 ...

  9. Could not load file or assembly'System.Data.SQLite.dll' or one of its depedencies

    [问题]  在我本机的开发环境c#连接sqlite3没有问题,但是release版本号移植到其它的机器就提示Could not load file or assembly'System.Data. ...

随机推荐

  1. vue回到顶部组件

    html <template> <a href="javascript:;" class="toTop" @click="backT ...

  2. openssl AES加密

    此代码不涉及ECB和CBC等关联加密 #include <stdio.h> #include <string.h> #include <stdlib.h> #inc ...

  3. pygame小记

    pygame.display.set_mode(x, y)设置显示窗口大小pygame.sprite.Sprite方法中有image, rect, speed等参数 其中image 可以通过 pyga ...

  4. solr之创建core(搜索核心,包括索引和数据)的方法

    我的solrhome为D:\solrHome\solr step1:进入solrHome会看到collection1文件夹,创建该文件夹的副本,重命名为product 进入product文件夹,进入d ...

  5. markdown中自己偶尔需要的小技巧

    慢慢积累,需要时搜索,并记录与此. 1.写文章时,由于markdown不负责首行缩进,所以“空格”需要特殊的方法去实现,最简单方便的是--输入全角空格(切换全角输入,点空格) 2.markdown中注 ...

  6. Bootstrap之javascript组件

    一 模态框 模态框放在body标签里面的,是body标签的子元素 静态实例: <div class="modal fade" tabindex="-1" ...

  7. 前端之 js的介绍和javascript的基础使用

    一 javasvript的介绍 JavaScript概述 1 JavaScript发展史 1.1 1992年Nombas开发出C-minus-minus(--)的嵌入式的脚本语言(最初绑定在CEnvi ...

  8. Python开课复习-10/17

    pickle是一个用来序列化的模块序列化是什么?指的是将内存中的数据结构转化为一种中间格式 并存储到硬盘上 反序列化?将硬盘上存储的中间格式数据在还原为内存中的数据结构 为什么要序列化?就是为了将数据 ...

  9. 如何将本地代码通过git上传到码云

    ps:同部署到GitHub上一样 http://www.cnblogs.com/pcx105/p/7777932.html

  10. js正则 - 正则判断是否为数字与字母的混合

    function istrue(str){  var reg=/^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i;  return reg.test(str); ...