我刚遇到同样的问题,在寻找解决方案时发现了你的问题。
我让它工作了。对我来说,问题是当我通过 NuGet 添加 EF 5 时,我最初的目标是 .NET 4.0 框架。更改目标框架,然后通过 NuGet 重新安装 EF 5,修复它。也有可能(见评论)通过 NuGet 重新安装 EF 5 是您的解决方案。
我在 App.config 文件中有以下行,注意 Version=4.4.0.0:
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
</configuration>
所以我所做的是在解决方案配置中将目标框架设置为 4.5,并将支持的运行时也设置为 4.5(在应用程序配置中)。
老的:
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
新的:
<startup>
<supportedRuntime version="v4.5" sku=".NETFramework,Version=v4.5" />
</startup>
更改后,我通过 NuGet 删除了 EF 5.0 并再次添加了它。结果它给了我以下 configSection,注意 Version=5.0.0.0:
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
</configuration>
更改后,它起作用了。