LPL*_*PLN 4 .net c# asp.net asp.net-mvc asp.net-core-3.0
如何删除身份 core3 preview4 中的任何 ILookupNormalizer 注入?
我使用身份 2.2 并且不能在 ApplicationUserManager 上使用 ILookupNormalizer。我的挛缩 ApplicationUserManager :
public ApplicationUserManager(
IApplicationUserStore store,
IOptions<IdentityOptions> optionsAccessor,
IPasswordHasher<TblUsers> passwordHasher,
IEnumerable<IUserValidator<TblUsers>> userValidators,
IEnumerable<IPasswordValidator<TblUsers>> passwordValidators,
ILookupNormalizer keyNormalizer,
IdentityErrorDescriber errors,
IServiceProvider services,
ILogger<ApplicationUserManager> logger,
IHttpContextAccessor contextAccessor,
IUsedPasswordsService usedPasswordsService)
: base((UserStore<TblUsers, TblOrganizationChart, AbfaContext, int, TblUserClaim, TblUserOrganizationChart, TblUserLogin, TblUserToken, TblRoleClaim>)store, optionsAccessor, passwordHasher, userValidators, passwordValidators, keyNormalizer, errors, services, logger)
Run Code Online (Sandbox Code Playgroud)
当我在 AddCustomServices 上添加 ILookupNormalizer 时,出现以下错误:
来自程序集“Project.Core,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”的“Project.Core.Identity.CS.CustomNormalizers”类型中的方法“NormalizeName”没有实现。
删除“services.AddScoped();”后 我有这个错误:
来自程序集“Project.Core,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”的“Project.Core.Identity.ApplicationUserManager”类型中的“方法”“NormalizeKey”没有实现。“
我不需要使用 Normalizer。
如何解决这个问题?
ILookupNormalizerIdentity core 3x 中的签名与 2x不同。如果您想继续使用旧项目并且还不想升级它(根据问题的标题),只需使用global.json文件锁定解决方案的框架版本。首先运行dotnet --list-sdks命令查看安装了哪些版本。然后使用dotnet new globaljson --sdk-version 2.2.106命令在解决方案的根目录中创建一个新的。
dotnet --list-sdks
dotnet new globaljson --sdk-version 2.2.106
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
623 次 |
| 最近记录: |