本文转自:http://luyutao.com/2016/09/14/csharp-sqlite-any-cpu.html
亲测有效,感谢原创作者!
在C#中如果要使程序自适应32位和64位系统,只需要将项目的“目标平台”设置为“Any CPU”就行了,但是如果程序中使用了SQLite组件,则需要对该组件额外进行一些简单的设置:
一、下载System.Data.SQLite组件:
从官网(http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki)中下载对应.NET版本的System.Data.SQLite二进制包,由于要自适应32位和64位系统,我们需要分别下载32位和64位的非静态连接二进制包:
二、引用System.Data.SQLite.dll:
在C#程序中引用组件“System.Data.SQLite.dll”,比对下载的这两个二进制包,我们会发现除了SQLite.Interop组件外,其他文件是一样的,所以我们可以自由选择32位或64位的System.Data.SQLite.dll文件:
三、引用SQLite.Interop.dll:
在程序生成目录里新建x86和x64两个子文件夹,分别将下载的对应平台的SQLite.Interop.dll复制到x86和x64文件夹中,由System.Data.SQLite.dll根据系统类型自动调用。为了方便管理,我们可以在项目中创建这两个文件夹,并设置SQLite.Interop.dll文件的属性为“如果较新则复制”,生成操作为“无”,从而使程序在生成的时候自动复制SQLite.Interop.dll文件:
四、编译生成程序:
完成以上步骤后对程序进行编译生成,程序中使用的SQLite组件就能自适应32位和64位系统了。