【问题标题】:Version issue with change from .net 4.5.2 to 4.0 in Entity Framework实体框架中从 .net 4.5.2 更改为 4.0 的版本问题
【发布时间】:2017-10-06 15:02:56
【问题描述】:

我有一个包含很多表格的 .edmx 文件。该文件位于使用 .NET 4.5.2 创建的项目中。但我的其他项目正在使用 .NET 4.0 版,我不能参考这个项目。我必须将我使用的 .NET 版本更改为 4.0。但它在重建过程中给了我一个错误。我无法解决这个问题。

主要参考“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" 无法解析,因为它已构建 针对“.NETFramework,Version=v4.5”框架。这是一个更高的 比当前目标框架的版本 “.NETFramework,Version=v4.0”。

【问题讨论】:

  • 是的,所以重新安装软件包。
  • 哪一个?实体框架还是我的表?
  • 你的桌子是一个包吗?我的意思是实体框架包。
  • 您了解您的问题吗?您当前的项目编译为 .net 4.0,您引用了一个必须在 .net 4.5 之上编译的 DLL(实体框架引用)。解决方案之一是使用实体框架包的 .net 4.0 引用。还有其他可能的解决方案
  • 正如答案中所建议的,使用正确的参考(net40)是要走的路。但是,我认为值得注意的是,解决此问题的另一种(并且涉及更多)方法是将其他项目升级到 4.5.2。

标签: c# visual-studio entity-framework


【解决方案1】:

您需要使用 nuget 重新安装 EF6,如下所述:https://docs.microsoft.com/en-us/nuget/consume-packages/reinstalling-and-updating-packages

转到Tools > NuGet Package Manager > Package Manager Console 然后输入Update-Package -Id EntityFramework -Version 6.0.0 –reinstall

您可能需要编辑您的 packages.config

<?xml version="1.0" encoding="utf-8"?>
<packages>
    <package id="EntityFramework" version="6.0.0" />

    <!-- ... -->
</packages>

【讨论】:

    【解决方案2】:

    EF 有一个 net40 文件夹和一个 net45 文件夹。您很可能引用了 net45 中的 dll。如果您按照 CodeCaster 的建议卸载了该软件包并重新安装,那么您的 csproj 文件中可能有一个卡住的引用。你可以试试这个:

    1. 右键单击您的 Web 项目并选择“卸载项目”。现在您可以右键单击并对其进行编辑。
    2. 查找参考路径,如果显示为 \net45,请将其更改为 \net40
    3. 右键单击并重新加载项目。

    &lt;Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"&gt;

    &lt;HintPath&gt;..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll&lt;/HintPath&gt; &lt;Private&gt;True&lt;/Private&gt;

    &lt;/Reference&gt;

    【讨论】:

    • 当涉及到卡住的引用时,对我有用的其他方法是 1) 删除引用,2) 关闭 VS,3) 删除 SUO 文件,4) 再次启动 VS,5) 添加对项目的引用。
    • 是的,我通常遵循类似的顺序(重新安装、手动更改引用、清理、删除 .suo)。启动项目等一些解决方案设置需要在之后重置。
    猜你喜欢
    • 2020-07-07
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 2014-10-09
    • 1970-01-01
    • 2015-02-28
    相关资源
    最近更新 更多