簡體   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