2015-06-13 2 views
0

Я обновил Autofac.Mvc с версии 3.2.1 до 3.3.0, я также обновил все другие пакеты, включая EF, MVC, WebActivatorEx и т.д., и после обновления он дает ошибку на моем контроллереAutofac не работает после обновления

не конструктор без параметров определяется для этого объекта

я поставил точку останова в моем классе инициализации и я обнаружил, что она даже не попав в контрольную точку. Я отдельное разрешение зависимостей слоя в моем проекте, и это код класса инициализации

[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(IocConfig), "RegisterDependencies")] 

namespace MyApp.Bootstrapper 
{ 
    public class IocConfig 
    { 
     public static void RegisterDependencies() 
     { 
      var builder = new ContainerBuilder(); 
      const string nameOrConnectionString = "name=AppContext"; 
      builder.RegisterControllers(typeof(MvcApplication).Assembly); 
      builder.RegisterModule<AutofacWebTypesModule>(); 
      builder.RegisterGeneric(typeof(EntityRepository<>)).As(typeof(IRepository<>)).InstancePerHttpRequest(); 
      builder.RegisterGeneric(typeof(Service<>)).As(typeof(IService<>)).InstancePerHttpRequest(); 
      builder.RegisterType(typeof(UnitOfWork)).As(typeof(IUnitOfWork)).InstancePerHttpRequest(); 
      builder.Register<IEntitiesContext>(b => 
      { 
       var logger = b.Resolve<ILogger>(); 
       var context = new AspnetIdentityWithOnionContext(nameOrConnectionString, logger); 
       return context; 
      }).InstancePerHttpRequest(); 
      builder.Register(b => NLogLogger.Instance).SingleInstance(); 
      builder.RegisterModule(new IdentityModule()); 

      var container = builder.Build(); 
      DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); 
     } 
    } 
} 

Пожалуйста, наставит меня с этим.

+0

Это должно быть объединено в http://stackoverflow.com/questions/30805382/cannot-pass-parameters-to-controller-constructor-autofac-mvc-5. Это все тот же вопрос. –

ответ

0

DLL-файлы проекта bootstrapper должны быть загружены с помощью dll веб-проекта, поэтому в проекте начальной загрузки >> select properties >> select build tab >> изменить выходной путь на >> web project bin (ex: .. \ myApp .web \ bin)

Смежные вопросы