2

我有一个 .NET Framework 4.8 VS2019 解决方案,目前针对 EF Core 2.0。我试图通过“管理 Nuget 包”将项目升级到 EF Core 3.0 预览版 7,并得到如下错误:Package Microsoft.EntityFrameworkCore.SqlServer 3.0.0-preview7.19362.6 is not compatible with net48 (.NETFramework,Version= v4.8)/赢。包 Microsoft.EntityFrameworkCore.SqlServer 3.0.0-preview7.19362.6 支持:netstandard2.1 (.NETStandard,Version=v2.1)

我已经验证了预览版 6 安装正常,这是有道理的,因为它以 .NET Framework 4.8 支持的 .NET Standard 2.0 为目标。

不幸的是,目前从 .NET Framework => .NET Core 升级我的解决方案文件是不可行的,因为 .NET Core 不支持旧的 WCF/.NET-remoting(并且不会来自我的阅读) . 同样,听起来 .NET Framework 永远不会支持 .NET Standard 2.1。这是否意味着如果我想升级到 .NET Core 3.0 预览版 6,我必须完全放弃使用 EF Core?

4

1 回答 1

1

正如微软在这篇文章中提到的

EF Core 支持的 .NET 实现

EF 核心 1.x 2.x 3.x

.NET 标准 1.3 2.0 2.1

.NET 核心 1.0 2.0 3.0

.NET Framework(1) 4.5.1 4.7.2(不支持)

并且 EF Core 现在使用 .Net Standard 2.1,如此处所述 EF Core 3.0 的目标是 .NET Standard 2.1 而不是 .NET Standard 2.0

但是当微软在这里宣布 .Net Standard 2.1

宣布 .NET Standard 2.1 它表示 .Net Framework 将保留在 .NET Standard 2 上

鉴于 .NET Standard 2.1 中的许多 API 添加需要运行时更改才能有意义,因此 .NET Framework 4.8 将保留在 .NET Standard 2.0 上,而不是实现 .NET Standard 2.1。.NET Core 3.0 以及即将推出的 Xamarin、Mono 和 Unity 版本将更新为实现 .NET Standard 2.1。

那么可能你永远无法在.net框架上获得ef core 3.x了

于 2019-12-01T23:00:02.073 回答