簡體   English   中英

使用'.NETFramework,Version = v4.6.1'而不是項目目標框架'.NETCoreApp,Version = v2.0'恢復了包'EntityFramework 6.2.0'

[英]Package 'EntityFramework 6.2.0' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'

我制作了.net core 2.0網絡應用程序。 我使用NUGET添加了Entity Framework 6.2.0,然后我收到此錯誤

使用'.NETFramework,Version = v4.6.1'而不是項目目標框架'.NETCoreApp,Version = v2.0'恢復了包'EntityFramework 6.2.0'。 此軟件包可能與您的項目不完全兼容。

我該如何解決?

問題是您的實體版本與.NetFramework.NetCore混淆。 您的應用程序目標框架是Asp.Net Core 所以你應該安裝與Asp.net Core相關的軟件包

在您的情況下, 'EntityFramework 6.2.0'.NETFramework,Version=v4.6.1'支持.NETFramework,Version=v4.6.1'不是'.NETCoreApp,Version=v2.0' 因此,請使用以下版本的實體框架而不是您的。

PM>  Install-Package Microsoft.EntityFrameworkCore -Version 2.0.1 

或者,您可以將目標框架更改為net461,如下所示。

<TargetFramework>net461</TargetFramework>

通過將目標框架更改為net461,您可以使用.net核心和完整的.net框架。 我認為在這段時間內,這種方法更好。 因為EF Core仍然沒有像許多關系和其他一些關系那樣的主要功能。 當然,這取決於您對ORM工具的需求和期望。

將項目更改為.NETFramework,Version=v4.6.1或選擇支持.NETCoreApp,Version=v2.0的Entity Framework nuget

我有同樣的問題,並通過改變我的解決方案介紹使用新的TargetFramework。

<TargetFramework>netcoreapp2.2</TargetFramework>

在更新之后,我嘗試添加Identity Framework但失敗並顯示了所述的警告。

通過按順序添加包解決了它:

Microsoft.EntityFrameworkCore
Microsoft.AspNetCore.Identity

就我而言,我的項目是Core 2.2。 我首先安裝了(NuGet)Microsoft.EntityFrameworkCore v2.2.4並且所有內置都很好。 然后我意外安裝了Microsoft.AspNet.Identity而不是Microsoft.AspNetCore.Idendity(v2.2.0)。 一旦我的眼睛發現.Identity包中缺少的'Core',我通過卸載錯誤並安裝右邊來修復它,然后警告就消失了。 我希望我不是唯一一個在新項目上快速安裝Nuget的人:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM