“System.Data”命名空间中不存在“SQLite”类型或命名空间(是否缺少程序集引用?)

18
是的,我已经将System.Data.Sqlite.dll添加到我的项目中(VS2012)。 是的,我已经添加了引用。 是的,我已经仔细检查过引用是否已创建(引用属性>路径正确)。 是的,我已经使用了Google,Bing。
不,我不知道为什么我的代码无法编译。

已经重建了吗?顺便说一句,使用Bing真是太棒了:))) - King King
在重新构建前先进行清理。 - Steve
3
我已经清理并重新构建了。如果没有这样做,我就不会在这里发布。 - UnregularExpression
1
我的网站原本是针对.NET 4.0的。我也遇到了你所说的错误。然后在属性页中将目标更改为4.0.3,错误就消失了。 - Tim
4个回答

11
如果是通过nuget安装的,请在“包管理器控制台”中执行以下命令:
Update-Package –reinstall System.Data.SQLite
在VS2013中,您可以在菜单视图>其他窗口>程序包管理器控制台中找到此控制台。 如评论所述,如果安装包时配置了项目使用Net45,然后一段时间后将其配置为使用Net40,则会出现此错误。 我猜反之亦然,即从Net40配置为Net45也可能引发此错误。

值得注意的是,SQLite 可能一开始就没有安装。如果上述命令返回红色文本,指出“SQLite 包未在任何项目中安装”,并且更新失败,请转到“工具”>“NuGet 包管理器”>“管理解决方案的 NuGet 包”,然后搜索“System.Data.SQLite”。然后选择该包并为此项目安装它。我这样做了,错误就消失了。 - Andrew Lau

8

2
这在我的情况下是正确的答案。我有一个.NET 4.5的程序集,并且我通过NuGet安装了SQLite。然后我将程序集更改为.NET 4.0,SQLite引用给了我OP的错误。 - Jay Sullivan

3

我曾经遇到过同样的情况。

我检查了所引用的SQLite dll文件的属性和产生错误的版本,发现是1.0.92.0。

我将其替换为正确的版本1.0.90.0,现在它可以正常工作

令人惊讶的是,1.0.92.0版本在Web项目中可以正常工作,但在VS2013的类库或WCF库项目中却无法正常工作?


1

检查引用的dll是否与项目的目标平台匹配。例如:如果您正在使用一个针对4.5版本的项目,但是使用了一个4.0版本的程序集,则会出现此错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接