最近对sqlite感兴趣,就尝试了一下用c#连接,我用的版本是vs2013,默认开发环境是.net4.5,,按照网上的教材,下载了System.Data.sqlite,然后写了下面这个简单的测试代码,
sqliteConnection.CreateFile(".\\a.db");//创建sql文件 sqliteConnection con = new sqliteConnection();//建立连接 sqliteConnectionStringBuilder sqlstr = new sqliteConnectionStringBuilder();//构建连接字符串 sqlstr.DataSource = ".\\a.db"; sqlstr.Password = "irelia"; con.ConnectionString = sqlstr.ToString(); con.Open();//打开连接 con.Close();//关闭连接满以为会很正确的执行,结果抛出了这个错误:”未经处理的异常: System.IO.FileLoadException: 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。在 sqlite3.Program.Main(String[] args)“
解决办法:
在app.config文件中,找到startup这个节点,改成如下:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> </configuration>
或者去这个项目的新窝 http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki