如图:
System.InvalidOperationException: Unable to resolve service for type 'Microsoft.AspNetCore.Identity.UserManager`1[identity框架的建立.MyUser]' while attempting to activate 'identity框架的建立.Controllers.demoController2'.
at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.GetService(IServiceProvider sp, Type type, Type requiredBy, Boolean isDefaultParameterRequired)
at lambda_method3(Closure , IServiceProvider , Object[] )
at Microsoft.AspNetCore.Mvc.Controllers.ControllerActivatorProvider.<>c__DisplayClass7_0.<CreateActivator>b__0(ControllerContext controllerContext)
at Microsoft.AspNetCore.Mvc.Controllers.ControllerFactoryProvider.<>c__DisplayClass6_0.<CreateControllerFactory>g__CreateController|0(ControllerContext controllerContext)
错误搞了好多天,在网上查了很多资料,最后原来是我太粗心了,在写Program.cs文件里的链接数据库的时候:
builder.Services.AddDbContext<MyDbContext>(opt => {
opt.UseSqlServer("Server=DESKTOP-KVT0S4U\\JJZMSSQLSERVER;Database=idtestDb;Trusted_Connection=true;");
把后边的 }); 加到了
IdentityBuilder idBuilder = new IdentityBuilder(typeof(MyUser), typeof(MyRole), builder.Services);
idBuilder.AddEntityFrameworkStores<MyDbContext>()
.AddDefaultTokenProviders()
.AddRoleManager<RoleManager<MyRole>>()
.AddUserManager<UserManager<MyUser>>();
这个后边,导致的错误,但迁移数据库是没有问题的。其实要是仔细 看,应该也可以能看出来,但一直认为是框架版本的问题,记录一下,避免在出现此类错误