Я изменил первичный ключ в соответствии с этим Настроить первичный ключ удостоверения
, и произойдет это исключение:
ComponentNotRegisteredException: Запрошенная служба 'Microsoft.AspNetCore.Identity.UserManager`1 [[Microsoft.AspNetCore.Identity.IdentityUser, Microsoft.Extensions.Identity.Stores, версия = 2.1.0.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60]] 'не была зарегистрирована.Чтобы избежать этого исключения, либо зарегистрируйте компонент для предоставления услуги, проверьте регистрацию службы с помощью IsRegistered (), либо используйте метод ResolveOptional () для разрешения необязательной зависимости.
Я попытался зарегистрировать UserManagerно безуспешно.
Вот файл Startup.cs
// This method gets called by the runtime. Use this method to add services to the container.
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
//services.AddDbContext<ApplicationDbContext>(options =>
// options.UseSqlServer(
// Configuration.GetConnectionString("DefaultConnection")));
services.AddDbContext<IdentityContext>();
services.AddIdentity<AppUser, AppRole>()
.AddEntityFrameworkStores<IdentityContext>()
.AddDefaultUI()
.AddDefaultTokenProviders();
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddControllersAsServices();
// AUTOFAC
var builder = new ContainerBuilder();
builder.Populate(services);
builder.RegisterAssemblyTypes(typeof(ServiceBase).Assembly).AsImplementedInterfaces().InstancePerLifetimeScope();
return new AutofacServiceProvider(builder.Build());
}
До того, как я изменил первичный ключ, внедрение зависимости работало.