我制作了.net core 2.0网络应用。我使用NUGET添加了Entity Framework 6.2.0,然后我收到此错误
Package' EntityFramework 6.2.0'使用' .NETFramework,Version = v4.6.1'进行了恢复。而不是项目目标框架' .NETCoreApp,Version = v2.0'。此软件包可能与您的项目不完全兼容。
我该如何解决这个问题?
答案 0 :(得分:42)
问题是您的实体版本与.NetFramework
和.NetCore
混淆。您的应用程序目标框架是Asp.Net Core
。所以你应该安装与Asp.net Core
在您的情况下,'EntityFramework 6.2.0'
是.NETFramework,Version=v4.6.1'
而不是'.NETCoreApp,Version=v2.0'
的支持。因此,请使用以下版本的实体框架而不是您的。
PM> Install-Package Microsoft.EntityFrameworkCore -Version 2.0.1
答案 1 :(得分:2)
或者,您可以将目标框架更改为net461,如下所示。
res = arr.group_by { |h| h[:account_id] }.map do |key, duplicates|
credit = duplicates.sum { |h| h[:amount_credit] || 0 }
debit = duplicates.sum { |h| h[:amount_debit] || 0 }
{
account_id: key,
amount_credit: (credit > debit ? credit - debit : 0),
amount_debit: (debit > credit ? debit - credit : 0)
}
end
通过将目标框架更改为net461,您可以使用.net核心和完整的.net框架。我认为在这段时间内,这种方法更好。因为EF Core仍然没有像many to many relationship和其他一些主要功能。当然,这取决于您对ORM工具的需求和期望。
答案 2 :(得分:1)
将您的项目更改为.NETFramework,Version=v4.6.1
或选择支持.NETCoreApp,Version=v2.0
的实体框架nuget
答案 3 :(得分:0)
I had the same problem, and was introduced by altering my solution to use a new TargetFramework.
<TargetFramework>netcoreapp2.2</TargetFramework>
After the Update I tried to add the Identity Framework but failed with a warning as described.
By Adding the packages in this sequence solved it for me:
Microsoft.EntityFrameworkCore
Microsoft.AspNetCore.Identity
答案 4 :(得分:0)
就我而言,我的项目是Core 2.2。我首先安装(NuGet)Microsoft.EntityFrameworkCore v2.2.4,并且一切正常。然后,我偶然安装了Microsoft.AspNet.Identity而不是Microsoft.AspNetCore.Idendity(v2.2.0)。一旦我的眼睛发现了.Identity软件包中缺少的“核心”,然后我通过卸载错误并安装正确的插件来修复它,然后警告消失了。我希望我不是唯一一个在新项目的Nuget安装上走得很快的人:)