【问题标题】:Autofac not working after update更新后 Autofac 不工作
【发布时间】:2015-08-29 09:21:03
【问题描述】:

我已将 Autofac.Mvc 从版本 3.2.1 更新到 3.3.0,我还更新了所有其他软件包,包括 EF、MVC、WebActivatorEx 等,更新后它在我的控制器上出现错误

没有为此对象定义无参数构造函数

我在初始化类中放了一个断点,我发现它甚至没有达到断点。我的项目中有一个单独的依赖解析层,这是初始化类的代码

[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));
        }
    }
}

请指导我。

【问题讨论】:

标签: asp.net-mvc asp.net-mvc-4 autofac onion-architecture


【解决方案1】:

bootstrapper 项目 bin dll 必须与 web 项目 dll 一起加载,因此在 bootstrapper 项目 >> 选择属性 >> 选择构建选项卡 >> 将输出路径更改为 >> web 项目 bin (例如:..\myApp.网页\bin)

【讨论】:

    猜你喜欢
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多