Microsoft.AspNet.Identity.Core和Microsoft.AspNetCore.Identity有什么区别?

23
我正在实现AspNet身份验证在ASP.NET MVC应用程序中。但是当我通过在线材料时,我对两个dll Microsoft.Aspnet.Identity.CoreMicrosoft.AspNetCore.Identity感到非常困惑。
我确实知道Microsoft.AspNetCore.Identity应该在.NET Core应用程序中使用,但是Microsoft.Aspnet.Identity.Core似乎没有最近的更新,并且发现它甚至不允许用户登录(在自定义asp身份验证中引发故障)。所以我的问题是,我可以在MVC应用程序中使用Microsoft.AspNetCore.Identity还是应该坚持使用Microsoft.Aspnet.Identity.Core

还有一个“兼容层,用于在Microsoft.AspNet.Identity.EntityFramework和Microsoft.AspNetCore.Identity.EntityFrameworkCore之间共享身份数据库”,网址为https://www.nuget.org/packages/Microsoft.AspNet.Identity.AspNetCoreCompat/。 - Simon_Weaver
1个回答

35
Microsoft.AspNet.Identity.Core与ASP.NET Core无关,它只是一种表明它是ASP.NET Identity(预ASP.NET Core版本)主要库的方式。由于您没有使用ASP.NET Core,因此必须使用Microsoft.AspNet.Identity.Core。
基本上,您有两种情况:
- 要么使用ASP.NET Core,这种情况下您需要使用Microsoft.AspNetCore.Identity - 要么使用ASP.NET Core之前的版本,则需要使用Microsoft.AspNet.Identity.Core。

21
谢谢澄清。那里的命名相当荒谬。 - Craig
我还是不明白,他们停止更新Microsoft.AspNet.Identity.Core和Microsoft.AspNetCore.Identity只支持.net core,但它们应该与平台解耦。我很困惑。我想使用最新的版本,但只有Microsoft.AspNetCore.Identity更新了新功能?但应该完全独立于EF或DB,因此最新的Identity应该能够在任何一个上工作? - Seabizkit
你不能在非 ASP.NET Core 上使用 Microsoft.AspNetCore.Identity。如果你没有使用 ASP.NET Core,那么你必须使用 Microsoft.AspNet.Identity.Core。 - Pierre-Loup Pagniez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接