Asp.net core EF Core Cosmos 3.0.0与.NET Core不兼容

Asp.net core EF Core Cosmos 3.0.0与.NET Core不兼容,asp.net-core,entity-framework-core,azure-cosmosdb,Asp.net Core,Entity Framework Core,Azure Cosmosdb,在ASP.NET Core(v2.1.1)web应用程序中,我希望将EF Core与Cosmos DB一起使用。为此,我需要添加Microsoft.EntityFrameworkCore.Cosmos包 我能够安装旧的2.2.0-preview3-35497NuGet 然而,当前的3.0.0-preview8.19405.11NuGet抱怨说 NU1202 Package Microsoft.EntityFrameworkCore.Cosmos 3.0.0-preview8.19405.11

在ASP.NET Core(v2.1.1)web应用程序中,我希望将EF Core与Cosmos DB一起使用。为此,我需要添加
Microsoft.EntityFrameworkCore.Cosmos

我能够安装
旧的2.2.0-preview3-35497
NuGet

然而,当前的
3.0.0-preview8.19405.11
NuGet抱怨说

NU1202
Package Microsoft.EntityFrameworkCore.Cosmos 3.0.0-preview8.19405.11 
is not compatible with netcoreapp2.1 (.NETCoreApp,Version=v2.1).
Package Microsoft.EntityFrameworkCore.Cosmos 3.0.0-preview8.19405.11
supports: netstandard2.1 (.NETStandard,Version=v2.1)
对我来说,这个错误听起来像是EF核心提供程序在最新版本中只支持.NET而不支持.NET核心

这对于EF核心提供商来说是完全出乎意料的


我是否正确地理解了错误,为什么在新版本中会有如此奇怪的更改,以及如何修复它?

此错误是因为.Net Core 3.0使用.Net标准2.1(不可正式讨论)。但是,VisualStudio已经兼容了

打开.csproj并将TargetFramework标记编辑为“netstandard2.1”:
netstandard2.1


使其适用于所有项目,并且可能有效;p

您使用的是什么版本的.NET Core?我很确定您需要使用.NET Core 3 preview8。EF Core 3.0软件包需要.NET Core 3.0,而这反过来又要求所有ASP.NET Core软件包都是3.0软件包。简而言之,如果您需要最新的EF Core,则需要将应用程序升级到ASP.NET Core 3.0应用程序。此外,.NET标准不是.NET Framework。它基本上是一个接口层,允许.NET Framework、.NET Core、Unity、Xamarin等兼容版本之间进行互操作。但是,.NET标准2.1(不要与2.0混淆)目前仅由.NET Core 3.0实现。