SQLite与VS 2010

我正在研究一个项目,我需要使用一些数据库。我之所以选择SQLite是因为它易于使用。但是我有一些麻烦让它工作。我正在使用来自http:// sqlite的 System.Data.SQLite .phxsoftware.com /但是当我尝试运行程序时,我收到以下exception消息。我正在用Visual Studio 2010编写C#。

无法加载文件或程序集’System.Data.SQLite,Version = 1.0.66.0,Culture = neutral,PublicKeyToken = 1fdb50b1b62b4c84,Retargetable = Yes’或其依赖项之一。 给定的程序集名称或代码库无效。 (HRESULTexception:0x80131047)

我不知道为什么我得到这个以及如何处理它。

我必须为明天准备好这个项目并需要你的帮助……

添加对System.Data.SQLite程序集的引用时,请确保将“Copy Local”的属性设置为true:

  1. 右键单击程序集System.Data.SQLite
  2. 将“复制本地”更改为True

添加Dillie-O的答案应该让VSite在VS 2010中的.Net v4.0框架上运行。

根据这篇文章 ,.Net Framework 4和SQLite存在一个已知问题。 解决方案是将以下部分添加到.config文件中:

       

这将使用4.0框架正确加载2.0程序集。 显然,当前的SQLite库是作为.Net 2.0程序集构建的。

如果您需要在项目中使用DBML层和LINQ to SQL Lite,最好使用www.devart.com上的DEVART LinqExpress工具。

它是免费的,它允许您直观地构建模型,然后在项目中使用Linq生成的类 – 更好的VS Express或完整的monty模式。

一旦LinqExpress for SQLLite添加到项目的引用中,它也会启动sqlLite dll。

请注意:我没有Devart公司的股份,但是当我需要免费产品的帮助时,他们免费帮助了我。

我也遭受这种例外。 这是我的解决方案:

修改app.config:

       

在“Solution Explorer – > {Project} – > Reference – > System.Data.SQLite” – > Properties – > Copy Local“中,选择”True“

您需要一起部署project.exeproject.exe.config

我不知道为什么你需要部署.config,但如果我在没有project.exe情况下部署project.exe它就不起作用。

我也遇到了同样的问题。 我正在使用VS express 2010和sqlite(1.0.66.0)。 事实上,它在我的开发和调试期间工作正常,但在我将已编译的dll部署到生产服务器之后。 我收到了这个错误。 我意识到它是由不同的sqlite dll版本引起的,所以我用下面的步骤修复它:

1)在带有生产服务器的开发机器上安装相同的sqlite版本(版本为1.0.87); 2)将system.data.sqlite.dll从版本1.0.87文件夹复制到.NET Framework程序集参考文件夹(C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0)中使用VS Express 2010 for .NET Framework 4.0

3)重新编译项目以获取新的DLL 4)将步骤3中的dll复制到生产服务器上,然后问题就消失了。

您也可以参考以下博客: http : //www.tsjensen.com/blog/post/2011/06/04/SQLite+On+Visual+Studio+2010+Setup+Itrutructions.aspx