实体框架版本 - 4.1.10715的targetFramework为“net35”但依赖于mscorlib,版本= 4.0.0.0

时间:2014-12-11 14:46:26

标签: entity-framework

我尝试过EF 4.1.10715和EF 4.1.10331.0两个软件包似乎都是针对Framework 3.5,但依赖于mscorlib,版本4.0.0.0

以下是今天上午的Package Config for Version 4.1.10331.0的截图。

ScreenShot from Package Config

编译时,我们失败了

C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1635,5): warning MSB3258: The primary reference "EntityFramework" could not be resolved because it has an indirect dependency on the .NET Framework assembly "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which has a higher version "4.0.0.0" than the version "2.0.0.0" in the current target framework.

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

在Visual Studio 2012中使用.NET 3.5作为目标框架创建了一个新的WinForm项目后,我安装了4.1.10715.0版本的Entity Framework并遇到了同样的问题。

在dotPeek中打开引用的EntityFramework程序集,确认它是为.NET 4.0编译的。

尽管packagesFramework在packages.config中指示了3.5,但引用的程序集已经为.NET 4.0编译。

<packages> <package id="EntityFramework" version="4.1.10715.0" targetFramework="net35" /></packages>

看起来有人在发布之前错误地处理了一个包。

答案 1 :(得分:1)

EntityFramework 4.0+(包括4.1)不支持.NET Framework 3.5。您可以在.NET Framework 3.5上使用的唯一版本是EF1,它是.NET Framework 3.5 SP1的一部分。因此,如果您没有SP1版本,则根本无法使用EF。