C# SQLite版本选择:Precompiled Binaries 与Precompiled Statically-Linked Binaries ,带bundle与不带bundle
使用C#编写Winform应用程序时,我们需要使用SQLite数据库。但是,当我们下载SQLite二进制文件时,我们会发现有两种不同的二进制文件选项:Precompiled Binaries for 64-bit Windows (.NET Framework 4.6)和Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 4.6)。那么,我们应该选择哪种呢?它们有什么区别?
首先,让我们来了解一下这两种SQLite二进制文件的区别。
Precompiled Binaries for 64-bit Windows (.NET Framework 4.6)
这种二进制文件是动态链接的,也就是说,它需要.NET Framework 4.6或更高版本才能运行。这意味着,如果您的应用程序需要在多个计算机上运行,那么您需要在每台计算机上安装.NET Framework 4.6或更高版本。
Precompiled Binaries是动态链接库,需要在运行时动态加载。而Precompiled Statically-Linked Binaries是静态链接库,它们被编译到应用程序中,因此不需要在运行时动态加载。
Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 4.6)
这种二进制文件是静态链接的,也就是说,它包含了.NET Framework 4.6的所有必要组件,因此不需要在计算机上安装.NET Framework 4.6或更高版本。这使得它成为一个更加独立和可移植的解决方案,这个版本更方便。
那么,我们应该选择哪种SQLite二进制文件呢?这取决于您的具体需求。如果您的应用程序只需要在单个计算机上运行,那么您可以选择Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 4.6),因为它更加独立和可移植。但是,如果您的应用程序需要在多个计算机上运行,那么您可能需要选择Precompiled Binaries for 64-bit Windows (.NET Framework 4.6),因为它需要.NET Framework 4.6或更高版本,这些版本通常已经在大多数计算机上安装了。
无论您选择哪种SQLite二进制文件,都需要确保它与您的应用程序兼容,并且您已经正确地将其集成到您的应用程序中。以下是一个使用SQLite数据库的C#代码示例:
using System.Data.SQLite;// 创建一个SQLite连接
SQLiteConnection connection = new SQLiteConnection("Data Source=database.db");// 打开连接
connection.Open();// 创建一个SQLite命令
SQLiteCommand command = new SQLiteCommand("SELECT * FROM users", connection);// 执行命令并获取结果
SQLiteDataReader reader = command.ExecuteReader();// 遍历结果集
while (reader.Read())
{// 获取每一行的数据int id = reader.GetInt32(0);string name = reader.GetString(1);int age = reader.GetInt32(2);// 处理数据Console.WriteLine("ID: {0}, Name: {1}, Age: {2}", id, name, age);
}// 关闭连接
connection.Close();
在这个示例中,我们使用了System.Data.SQLite命名空间中的类来连接和查询SQLite数据库。请注意,您需要在项目中添加对System.Data.SQLite.dll的引用,并将SQLite二进制文件正确地集成到您的应用程序中。
总之,选择哪种SQLite二进制文件取决于您的具体需求。如果您需要一个更加独立和可移植的解决方案,那么您可以选择Precompiled Statically。
sqlite-netFx46-static-binary-bundle和sqlite-netFx46-static-binary区别:
sqlite-netFx46-static-binary-bundle和sqlite-netFx46-static-binary都是Precompiled Statically-Linked Binaries的版本。它们的区别在于sqlite-netFx46-static-binary-bundle包含了所有的依赖项,而sqlite-netFx46-static-binary只包含了SQLite库。
如果您的应用程序需要使用SQLite以外的依赖项,那么您应该选择sqlite-netFx46-static-binary-bundle。否则,您可以选择sqlite-netFx46-static-binary。
总的来说,如果您的应用程序需要使用SQLite以外的依赖项,那么您应该选择Precompiled Statically-Linked Binaries的版本,并且选择包含所有依赖项的版本。否则,您可以选择Precompiled Statically-Linked Binaries的版本,并且选择只包含SQLite库的版本。
sqlite-netFx46-binary-bundle与sqlite-netFx46-binary区别:
sqlite-netFx46-binary-bundle是一个包含了所有必要文件的完整SQLite二进制文件包。它包含了SQLite的核心库、ADO.NET提供程序、LINQ支持和SQLite的工具。这个文件包比较大,但是它可以方便地安装和使用。
sqlite-netFx46-binary是一个更加轻量级的SQLite二进制文件。它只包含了SQLite的核心库和ADO.NET提供程序。这个文件比较小,但是它需要手动安装和配置。
因此,如果你需要快速地使用SQLite数据库,那么你可以选择使用sqlite-netFx46-binary-bundle。但是,如果你需要更加灵活地控制SQLite的安装和配置,那么你可以选择使用sqlite-netFx46-binary。
Precompiled Binaries for 64-bit Windows (.NET Framework 4.5)的sqlite-netFx45-binary-bundle-x64-2012-1.0.118.0.zip的含义
Precompiled Binaries for 64-bit Windows (.NET Framework 4.5)的sqlite-netFx45-binary-bundle-x64-2012-1.0.118.0.zip是一个预编译的SQLite库二进制文件包,它包含了SQLite库的所有必要文件。这个文件包是专门为64位Windows操作系统和.NET Framework 4.5编译的,因此它可以直接在这个操作系统和框架上使用。
总之,2012代表的是Visual Studio 2012的版本号,这个版本的SQLite库是专门为64位Windows操作系统和.NET Framework 4.5编译的。如果你的应用程序需要使用SQLite库,你可以下载这个预编译的二进制文件包,并将它直接嵌入到你的应用程序中。
或者最方便的就在微软的NuGet下载提供的System.Data.SQLite,减去选择的麻烦!
NuGet提供的System.Data.SQLite二进制版本是SQLite的官方二进制版本。它是由SQLite官方发布的,用于.NET平台的SQLite库。这个二进制版本是经过编译和优化的,以便在.NET平台上提供最佳的性能和稳定性。
NuGet提供的System.Data.SQLite二进制版本包括以下文件:
- System.Data.SQLite.dll:SQLite的.NET绑定库。
- System.Data.SQLite.xml:包含System.Data.SQLite.dll的XML文档。
- SQLite.Interop.dll:SQLite的本机库。
这些文件可以用于在.NET应用程序中访问和管理SQLite数据库。要使用这些文件,您需要将它们添加到您的项目中,并在代码中引用System.Data.SQLite命名空间。
版本选择或者参考这个作者文章(C#中SQLite的使用及工具类 ):https://www.cnblogs.com/timefiles/p/sqlitehelper.html
System.Data.SQLite支持登录加密,需要一定费用,可以去官网看(网页上方选择购买)https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki;现在的免费SQLite版本就不支持加密,取消了这个加密功能,但以前支持C# SQLite版本 1.0.112.0版本与之前旧版本都支持免费登录加密。但是有些旧版本,有些SQL语句就用不了,旧版本不支持。需要用免费加密的,需要找到以前的dll版本下载!
上面内容用于记录自己的学习与分享,分享让技术更进一步!
技术来源于思想自由、独立思考、辩证分析、逻辑思维与人类自由的创新,来服务于人类生活各种方便,而不是为了用技术打造思想鸿沟围城来制造愚蠢;技术是好的与坏的,好人用技术是更好的,坏人用技术是更坏的。推荐好书:乔治.奥威尔的《1984》,有多个译本,选择喜欢且好的译本就行了;还有柏拉图的《理想国》、哈耶克《通向奴役之路》(港版)(港版翻译较好大陆版本,英语过硬的最好看英文原版),现在网店都有售卖!阅读好书,阅读大部分人未阅读过与课堂没有的书,阅读这片土地没有的知识就能增加一种思辨思维与智慧,才能走出狭隘思维偏见的洞穴!
柏拉图在他的巨著《理想国》的第七卷里写到了洞穴理论阐明:一群从小被囚禁生活在洞穴里人,在洞穴外面的光线照明下,往内看是一片片黑影,往外看是光明的海阔天空,越看越明亮!
包容的人更自信、思维更多元,包容好的文化使人更强大,越自信越包容越强大!
C# SQLite版本选择:Precompiled Binaries 与Precompiled Statically-Linked Binaries ,带bundle与不带bundle相关推荐
- OC和swift混合工程更新库时报:target has transitive dependencies that include statically linked binaries
OC和swift混合工程更新库时报:target has transitive dependencies that include statically linked binaries.有时间报的错误 ...
- Windows下Wireshark安装版本选择方式
Windows下Wireshark安装版本选择方式 Wireshark版本分为1.X系列和2.X系列.1.X系列是早期版本,不提供中文版本.2.X系列是新版本,安装后,同时提供中文版和英文版.根据系统 ...
- Android和SQLite版本对应关系
Android和SQLite版本对应关系 今天Xamarin群有人问到Android和SQLite版本如何对应,顺手查了一下,贴出来. SQLite 3.8.4.3: • 21-5.0-Lollipo ...
- hadoop商业版本选择对比
记得刚接触到hadoop的时候跟大部分人一样都会抱怨hadoop的安装部署问题,对于一个新手来说这这的是个头疼的问题,可能需要花费一整天的时间才能把分布式环境安装配置好.在刚接触hadoop的一段时间 ...
- Spring Cloud Alibaba - 02 SpringCloud 、 SpringCloud Alibaba 、SpringBoot的生产版本选择
文章目录 Spring Cloud 生态圈概览 Spring Cloud Spring Cloud Alibaba 版本选择 Spring Boot 版本说明 Spring Cloud 版本说明 Sp ...
- Hadoop版本选择探讨
由于Hadoop版本混乱多变,因此,Hadoop的版本选择问题一直令很多初级用户苦恼.本文总结了Apache Hadoop和Cloudera Hadoop的版本衍化过程,并给出了选择Hadoop版本的 ...
- 史上最详细 最官方的 SpringBoot和SpringCloud的版本选择!!!! 绝对让你心服口服的版本选择方式!!!
一.Springboot版本选择 1.1.git源码地址 SpringBoot 1.2.SpringBoot2.0新特性 https://github.com/spring-projects/spri ...
- 一篇文章让你轻松搞定SpringBoot和SpringCloud之间的版本选择!!!
首先说明一下我认为我没有乱立标题或者是夸大标题,这篇文章肯定能告诉你该如何选择SpringBoot和SpringCloudd之间的版本,资料也是从官网拿的,并非胡乱捏造. 学的越来越多,基础不牢固,每 ...
- 【大数据技术】操作系统和Hadoop版本选择
1.操作系统选择 Hadoop产品是由Java语言开发的,所以推荐的是Linux操作系统,理由很简单开源免费,推荐的操作系统CentOS. CentOS是一个基于Red Hat 企业级 Linux 提 ...
最新文章
- 【jquery】jquery选择器
- python 示列:抓取网页所有a连接
- 疫情之下,MWC 2020正式取消!此前仍有中国公司表态坚持参展
- Mybatis 一对多 结果集映射 简单入门 易懂
- 利用java.io.File类实现遍历本地磁盘上指定盘符或文件夹的所有的文件
- win2000/2003 Discuz生存环境搭建及基础优化 攻略
- php获取元素位置,jquery如何获取当前元素的位置
- [转]训练集和测试集的含义和区别?
- python爬虫:bs4搜索文档树
- Docker 命令总结
- 微软正式发布 Silverlight 5
- 技术不错的我去面试大厂,5分钟,就被秒了!憋屈~
- python 贴吧调度器_简单的Python调度器Schedule详解
- STEP7 MicroWIN SMART 下载程序到CPU的具体步骤详解(图文)
- 米家扫地机器人尘盒怎么取_米家扫地机器人1S:从里到外全面提升 拥有超高性价比...
- 玩游戏计算机缺失msvcp140,绝地求生计算机丢失MSVCP140.dll解决办法
- 丧心病狂的Android混淆文件生成器
- contiki学习笔记(五)ctimer和etimer
- pdf压缩文件怎么压缩最小,pdf大小超过上传大小不能上传怎么压缩?
- automotive industry is embracing change and agile transitioning
热门文章
- Unity pico开发
- android 换机 iphone8,两年不换机,iPhone8plus处于安卓旗舰哪种水平?
- 2019 KDD accpeted paper2019年kdd接收的论文
- notes 发邮件was配置java_Java程序调用LotusNotes邮件服务发送邮件的实现
- 西安三本哪个计算机学校最好,西安公办三本院校最新排名 2015
- [游戏]绝地求生听不到队友说话,自己也不能说话
- AE实践:线性动画与非线性动画
- 动态获取API函数地址---对抗win7 aslr安全机制
- mysql主从同步完成标志,centos7 mysql 主从复制
- JS三目运算符处理时间,预计时间功能