Microsoft.AspNet.Identity.EntityFramework.UserStore не имеет конструктора, который принимает параметры - PullRequest
0 голосов
/ 02 июля 2018

Я новичок, работающий над приложением с MVC5 и EF 6. Я использую внедрение зависимостей для разрешения своих классов. Все было хорошо, пока я не изменил строку подключения и что-то изменил (я не знаю) в моем классе регистрации зависимостей, который является единицей конфигурации.

Теперь, когда я запускаю его, он выдает мне эту ошибку. У Microsoft.AspNet.Identity.EntityFramework.UserStore нет конструктора, который принимает параметры. Я использую диспетчер пакетов Unity Nuget

ниже мой код, любая помощь будет оценена

    using Microsoft.AspNet.Identity;
    using Microsoft.AspNet.Identity.EntityFramework;
    using Oxford.Core.Data;
    using Oxford.Data;
    using Oxford.Services;
    using OxfordLibrary.Models;
    using System.Web.Mvc;
    using Unity;
    using Unity.Injection;

    namespace OxfordLibrary.App_Start
    {
        public class UnityConfig
        {
            public static void RegisterComponents()
            {
                // Repository
                var container = new UnityContainer();

                // register all your components with the container here
                // it is NOT necessary to register your controllers

                // e.g. container.RegisterType<ITestService, TestService>();
                container.RegisterType(typeof(IRepository<>), typeof(EfRepository<>));

                container.RegisterType<ApplicationUserManager>();


                // Services

                container.RegisterType<IMasterService, MasterService>();

                // Resolve

                container.RegisterType<IUserStore<ApplicationUser>, UserStore<ApplicationUser>>(
                       new InjectionConstructor(typeof(ApplicationDbContext)));
            }
        }
    }

OxfordLibrary - название моего проекта Исключение, которое я получаю: System.InvalidOperationException HResult = 0x80131509 Сообщение = тип Microsoft.AspNet.Identity.EntityFramework.UserStore`1 [[OxfordLibrary.Models.ApplicationUser, OxfordLibrary, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null]] не имеет конструктора, который принимает параметры ( ApplicationDbContext). Источник = Unity.Abstractions Трассировки стека: в Unity.Injection.InjectionConstructor.ConstructorByType (Type typeToCreate, Type [] types) в Unity.Injection.InjectionConstructor.AddPolicies (тип serviceType, тип creationType, имя строки, политики IPolicyList) в Unity.UnityContainer.RegisterType (тип typeFrom, тип typeTo, имя строки, LifetimeManager lifeManager, InjectionMember []jectionMembers) в Unity.UnityContainerExtensions.RegisterType [TFrom, TTo] (контейнер IUnityContainer, InjectionMember []jectionMembers) в OxfordLibrary.App_Start.UnityConfig.RegisterComponents () в D: \ Programs \ 2018 \ OxfordLibrary \ OxfordLibrary \ App_Start \ UnityConfig.cs: строка 35 в OxfordLibrary.MvcApplication.Application_Start () в D: \ Programs \ 2018 \ OxfordLibrary \ OxfordLibrary \ Global.asax.cs: строка 20

...