C# 是否在.Net标准项目中使用Microsoft.AspNetCore.Identity?

C# 是否在.Net标准项目中使用Microsoft.AspNetCore.Identity?,c#,asp.net-core,asp.net-identity,.net-standard,C#,Asp.net Core,Asp.net Identity,.net Standard,我将要将遗留代码(.Net framework)迁移到.Net标准(2.0,而不是2.1,以便它仍然与framework 4.7和Core 3.0兼容)。旧库使用System.Web.Security访问数据库(用户和成员等)。我已经用IdentityServer4将其更改为新的身份模型 我的问题是: 我可以在.Net标准项目中使用Microsoft.AspNetCore.Identity 我读了一些关于Git的讨论,感到困惑。显然,.Net标准2.0和2.1之间存在差异,但NUGET允许我为.

我将要将遗留代码(.Net framework)迁移到.Net标准(2.0,而不是2.1,以便它仍然与framework 4.7和Core 3.0兼容)。旧库使用
System.Web.Security
访问数据库(用户和成员等)。我已经用IdentityServer4将其更改为新的身份模型

我的问题是:
我可以在
.Net标准
项目中使用
Microsoft.AspNetCore.Identity

我读了一些关于Git的讨论,感到困惑。显然,
.Net标准
2.0和2.1之间存在差异,但NUGET允许我为
.Net标准2.0
安装“Microsoft.AspNetCore.Identity”


我想知道这一点,因为在
Microsoft.AspNetCore.Identity
中“只”用新类替换旧类会使迁移更容易一些。否则,我需要删除.Net标准库中与标识相关的所有内容

不幸的是,我不能对库使用
.netcore3.0
,因为Libs需要在WebForms应用程序(.netframework4.7)中使用

编辑1:感谢您的回复。这已经帮助了我。 但我有一个后续问题:

让我困惑的是,我将在WebForms应用程序中使用这些LIB,并且我阅读了一些关于旧框架不支持新的aspnet核心身份模型的内容。例如:我是否可以在WebForms应用程序的代码隐藏中使用自定义.Net标准库中的“ApplicationUser”类(如果我将所有用户管理包装在单独的.Net标准Dll中)

编辑2:以下是让我恼火的讨论:关于.Net标准中的“Microsoft.AspNetCore.Identity”支持(甚至名称空间“Microsoft.AspNetCore.Identity”也让我认为它不应该在.Net标准上工作)

编辑3: 因此,我尝试使用Microsoft.AspNetCore.Identity在.Net标准库中使用“IdentityUser”。结果是EntityFramework也需要添加到引用中,我得到了这个错误

包“EntityFramework 6.1.0”是使用“.NETFramework,版本=v4.6.1,.NETFramework,版本=v4.6.2,.NETFramework,版本=v4.7,.NETFramework,版本=v4.7.1,.NETFramework,版本=v4.7.2,.NETFramework,版本=v4.8”而不是项目目标框架“.NETStandard,版本=v2.0”还原的。此软件包可能与您的项目不完全兼容

如何解决此问题:对于.Net标准2.0,请安装此Microsoft.Extensions.Identity.Stores。
对于.Net标准2.1,可以安装Microsoft.AspNetCore.Identity.EntityFrameworkCore

该.Net标准是所有.Net实现都应遵守的规范。这是为了标准化.NET实现而引入的

因此,如果您愿意,您将能够知道
.NET标准2.0
支持哪些.NET实现,以及
.NET标准2.1
支持哪些.NET实现


现在,您的问题是:您能在
.NET标准2.0
项目中使用
Microsoft.AspNetCore.Identity
软件包吗

只要生成代码所依据的.NET实现符合
.NET标准2.0


根据,Microsoft.AspNetCore.Identity v2.2.0的目标是.NET标准2.0,因此您可以在项目中使用它


请注意,
.NET Framework
不支持
.NET标准2.1
或更高版本。有关更多详细信息,请参见

您是否已对此进行了测试?尝试一个简单的例子,请看这里->。非常类似于您所说的不使用asp.net Identity和here->here
Microsoft.AspNetCore.Identity本身是一个.net标准2.0项目,因此您可以在任何其他.net标准2.0项目中使用。所有.NET核心扩展都是.NET标准的,这意味着您可以轻松地在.NET Framework项目中使用它们。非常感谢您,我将看一看。让我困惑的是,我将在WebForms应用程序中使用这些LIB,我读到一些旧框架不支持新的aspnet核心身份模型的内容。举个例子:我可以在WebForms应用程序的代码隐藏中使用自定义.Net标准库中的“ApplicationUser”类吗?@user3675331是的,这是测试它的方法,不是吗?除非你想做一些不同的事情。我想OP也需要考虑这篇文章->