在使用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. Windows AD域管理软件

  2. swift -inout关键字

    一般参数仅仅是在函数内可以改变的,当这个函数执行完后变量就会被销毁,不会有机会改变函数以外的变量,那么我们就会产生一个疑问,我们可不可以通过一个函数改变函数外面变量的值呢?答案是肯定的,这时我们就需要 ...

  3. 2019.01.20 bzoj2238: Mst(kruskal+树链剖分)

    传送门 树链剖分菜题. 题意简述:给一个无向图,边有边权,每次询问删一条边(对后面的询问无影响)之后的最小生成树. 思路: 先跑一次kruskalkruskalkruskal并把跑出来的最小生成树给链 ...

  4. 2018.12.15 spoj Substrings(后缀自动机)

    传送门 后缀自动机基础题. 求长度为iii的子串出现次数的最大值. 对原串建出samsamsam,然后用sizsizsiz更新每个maxlenmaxlenmaxlen的答案. 然后由于后缀链接将其转化 ...

  5. VIM 与 系统剪切版

    1, 查看 vim 是否支持 clipboard 功能 $ vim --version | grep clipboard 2, 如果有 +clipboard 则跳过这一步; 如果显示的是 -clipb ...

  6. MongoDB-增删改

    MongoDB的shell使用了Js引擎,因此能运行任意的Js程序. MongoDB中常用基本数据类型: null:空值或者不存在的字段Boolean:true,false数值型:{"x&q ...

  7. 1.8.1suspend与resume方法使用

    暂停线程意味着线程还能恢复运行 suspend()方法暂停线程.resume()恢复线程 测试如下 package com.cky.thread; /** * Created by edison on ...

  8. 延时、输入输出接口P0~P3

    1.寄存器 为了知道延时程序是如何工作的,我们必需首先了解延时程序中出现的一些符号,就从R1开始,R1被称之为工作寄存器.什么是工作寄存器呢?让我们从现实生活中来找找答案.如果出一道数学题:123+5 ...

  9. 20171126-handler消息机制理解

    1.handler消息机制的理解 http://www.jianshu.com/p/8343a39b8a2c?s_q_s_h_a_r_e_1MTAzNTIwODAxNTExNTg5NTkwMzE0Nz ...

  10. webService之helloword(java)

    webservice 远程数据交互技术 1.导入jar包(如果是 maven项目导入项目坐标) 2.创建服务 3.测试服务 我们使用maven来做测试服务 pom.xml文件 <project ...