ASP.NET MVC v5、Entity Framework v7、および Identity v3 を使用して、単純なログイン システムをゼロから構築しようとしています。
私が望むのは、ユーザーがアカウントを作成し、そのアカウントがデータベースに保存されることだけです。これは Register POST アクションです。
[HttpPost]
public async Task<IActionResult> Register (RegisterViewModel model)
{
try
{
var userStore = new UserStore<ApplicationUser>(db);
var userManager = new UserManager<ApplicationUser>(userStore);
var user = new ApplicationUser { UserName = model.Email };
IdentityResult result = await userManager.CreateAsync(user, model.Password);
return RedirectToAction(nameof(HomeController.Index), "Home");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return View();
}
}
ここで次のエラーが発生しますUserManager
:
エラー CS7036 「UserManager.UserManager(IUserStore, IOptions, IPasswordHasher, IEnumerable>, IEnumerable>, ILookupNormalizer, IdentityErrorDescriber, IServiceProvider, ILogger>, IHttpContextAccessor)」の必須の仮パラメータ「optionsAccessor」に対応する引数が指定されていません
これはどういう意味ですか/どうすればこれにアプローチできますか?
スキャフォールディングされた MVC アプリを作成すると、生成された AccountController で UserManager が引数を取らないため (エラー メッセージに「必須」の仮パラメーターであると表示されていても)、アプリは登録できるため、これについても疑問に思っています。ユーザー。