Я новичок, работающий над приложением с 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