Asp.net core EF Core Cosmos 3.0.0与.NET Core不兼容
在ASP.NET Core(v2.1.1)web应用程序中,我希望将EF Core与Cosmos DB一起使用。为此,我需要添加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
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实现。