我尝试过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的截图。
编译时,我们失败了
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.
有什么想法吗?
答案 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。