繁体   English   中英

在Entity Framework中从.net 4.5.2更改为4.0的版本问题

[英]Version issue with change from .net 4.5.2 to 4.0 in Entity Framework

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

无法解决主要参考“ EntityFramework,版本= 6.0.0.0,区域性=中性,PublicKeyToken = b77a5c561934e089,processorArchitecture = MSIL”,因为它是针对“ .NETFramework,Version = v4.5”框架构建的。 这是当前目标框架“ .NETFramework,Version = v4.0”的更高版本。

您需要按照以下说明使用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>

EF同时具有net40文件夹和net45文件夹。 您最有可能在net45中引用dll。 如果您卸载了软件包并按照CodeCaster的建议重新安装,则csproj文件中的引用可能卡住了。 您可以尝试以下方法:

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

<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">

<HintPath>..\\packages\\EntityFramework.6.1.3\\lib\\net45\\EntityFramework.dll</HintPath> <Private>True</Private>

</Reference>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM