【问题标题】:How-to fix .NET 5.0 to 6.0 migration error如何修复 .NET 5.0 到 6.0 的迁移错误
【发布时间】:2021-11-18 15:23:23
【问题描述】:

我有一个 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 预览版是否会导致问题? 有人可以帮忙解决升级问题吗? 我一定错过了一些我应该改变或做的事情! 谢谢...

组织

【问题讨论】:

  • 没有与 .NET 6 兼容的 .NET Standard 版本。如果您需要库中的 .NET 6 功能,您的库也必须是 .NET 6。 (当然,您仍然可以在 .NET 6 中使用 .NET Standard 库,只要它只使用 .NET Standard 功能。)

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


【解决方案1】:

Plan for Entity Framework Core 6.0:

EF Core 6.0 需要 .NET 6。EF Core 6.0 不针对任何 .NET Standard 版本;如需更多信息,请参阅the future of .NET Standard

您需要升级您的库以定位 net6.0 才能使用 Entity Framework 6:

<TargetFramework>net6.0</TargetFramework>

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

【讨论】:

  • 感谢您的快速回复,将所有项目移至 net6.0 就是答案。再次感谢你们帮我省了一些麻烦。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-29
  • 2021-09-23
  • 2021-02-26
  • 2019-06-26
  • 2021-05-03
  • 1970-01-01
  • 2019-10-04
相关资源
最近更新 更多