c# - 如何修复 .NET 5.0 到 6.0 的迁移错误

标签 c# entity-framework-6 .net-standard-2.1

我有一个 NetStandard2.1 库,用于 WebApi 中的数据访问我打算将 WebApi 和数据访问升级到 .NET 6.0。

dotnet --info 显示安装了以下 .NET SDK

NET SDKs installed:
 3.1.415 C:\Program Files\dotnet\sdk
 5.0.403 C:\Program Files\dotnet\sdk
 6.0.100-preview.4.21255.9 C:\Program Files\dotnet\sdk
 6.0.100-preview.7.21379.14 C:\Program Files\dotnet\sdk
 6.0.100 C:\Program Files\dotnet\sdk

数据访问类库中只有 3 个包。

  1. Microsoft.AspNetCore.Identity.EntityFrameworkCore (5.0.10)
  2. Microsoft.EntityframeworkCore (5.0.10)
  3. Microsoft.EntityFrameworkCore.SqlServer (5.0.10)

但是当我尝试将包升级到 6.0.0 时,我收到所有三个包的 Nuget 错误 NU1202。错误示例如下:

错误 NU1202 程序包 Microsoft.AspNetCore.Identity.EntityFrameworkCore 6.0.0 与 netstandard2.1 (.NETStandard,Version=v2.1) 不兼容。 Microsoft.AspNetCore.Identity.EntityFrameworkCore 6.0.0 包支持:net6.0 (.NETCoreApp,Version=v6.0)

这两个 6.0.0 预览版是否会导致问题? 有人可以帮忙解决升级问题吗? 我一定是遗漏了一些我应该改变或做的事情! 谢谢...

组织

最佳答案

参见 Plan for Entity Framework Core 6.0 :

EF Core 6.0 requires .NET 6. EF Core 6.0 does not target any .NET Standard version; for more information see the future of .NET Standard.

您需要将库升级到目标 net6.0 才能使用 Entity Framework 6:

<TargetFramework>net6.0</TargetFramework>

这也意味着使用该库的项目需要以 .NET 6 为目标。

关于c# - 如何修复 .NET 5.0 到 6.0 的迁移错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70022451/

相关文章:

c# - Entity Framework ,在单个查询中通过主键加载多个实体,同时仍然使用缓存

c# - 如何从 Xamarin.Forms(.Net Standard 2.0/2.1)中的图像字节 [] 序列创建视频(如文件 MP4、Avi 等)?

c# - 库升级到 .net 标准 2.1

c# - 多个 Orderby 和 Sort

c# - 使用 SharpGs 在 Google 存储中“公开共享”

c# - 使用 Entity Framework 分离数据层和域层的正确方法

c# - Entity Framework 审计一对多关系并捕获相关实体

c# - Entity Framework Powertools 使用 Mysql 和 EF6 生成 View

entity-framework-core - 在指定场景下是否值得将 Dotnet Standard 2.1 迁移到 .Net 6

c# - 限制网络请求