5

我的应用程序针对的是.NET 4.0,因为我们打算现在继续支持Server 2003和Windows XP。我使用Visual Studio 2012与实体框架4.4(在NuGet中列为5.0)和System.Data.SQLite的ADO.Net提供程序v1.0.85.0。针对.NET 4.0的VS2012中的System.Data.SQLite设计时组件

我在安装设计时组件(1)在VS2012中工作和(2)生成针对.NET 4.0的模型和代码时遇到问题。安装VS2012的设计时组件的System.Data.SQLite包假定.NET 4.5,并在从现有数据库生成模型时导致实体框架错误:

“数据类型'bigint'目前不支持面向.NET Framework版本;表'main.Message'中的列'id'被排除在外。“

“数据类型'binary'目前不支持目标.NET Framework版本;表'main.Message'中的'Message'列被排除。”

等等......

我目前的解决办法是使用VS2010更新实体框架模型,但是这很烦人。有什么方法可以在VS2012上安装VS2010设计时组件?或者,可以将VS2012设计时组件配置为以.NET 4.0为目标?

+1

与.NET 4.5项目相同的问题。确实很烦人。 – AlexPi 2013-05-04 16:51:00

回答

3

我遇到了使用.net 4.5的相同问题。这个问题似乎与sqlite-netFx45-setup-bundle-x86-2012-1.0.86.0有关。当我安装sqlite-netFx45-setup-bundle-x86-2012-1.0.84.0(84而不是86)时,它一切正常(在.net 4.5 atleast中)

+0

非常感谢。我今天下载了1.0.86.0,无法正常工作。在找到你的解决方案之前,我浪费了很多时间。 – lisp 2013-06-03 22:41:42

+0

谢谢,这个解决方案为我工作。 – 2013-06-26 16:53:27

+0

下载地址:http://system.data.sqlite.org/downloads/1.0.84.0/sqlite-netFx45-setup-bundle-x86-2012-1.0.84.0.exe – 2013-07-04 18:52:14