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

How-to fix .NET 5.0 to 6.0 migration error

我有一个 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

数据访问 class 库中只有 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 时,我收到了所有三个包的 NU1202 Nuget 错误。错误示例为:

错误 NU1202 包 Microsoft.AspNetCore.Identity.EntityFrameworkCore6.0.0 与 netstandard2.1(.NETStandard,版本=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 为目标。