首页 新闻 会员 周边

.NET Core3.0 我将内置DI切换到AutoFac报错。

0
悬赏园豆:15 [已解决问题] 解决于 2019-09-25 09:08

namespace Blog.AutoFacModule.Solucation.AutoFac.Register
{
public class AutofacModuleRegister : Autofac.Module
{
//重写Autofac管道Load方法,在这里注册注入
protected override void Load(ContainerBuilder builder)
{

    }
    /// <summary>
    /// 根据程序集名称获取程序集
    /// </summary>
    /// <param name="AssemblyName">程序集名称</param>
    public static Assembly GetAssemblyByName(String AssemblyName)
    {
        return Assembly.Load(AssemblyName);
    }
}

}

public static IServiceProvider ForRegisterAutofac(IServiceCollection services)
{
var builder = new ContainerBuilder();
builder.Populate(services);
builder.RegisterModule<Blog.AutoFacModule.Solucation.AutoFac.Register.AutofacModuleRegister>();
var container = builder.Build();
return new AutofacServiceProvider(container);
}

public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddControllers();
return Blog.AutoFacModule.Solucation.AutoFac.Provider.RegisterAutofac.ForRegisterAutofac(services);
}

ZaraNet的主页 ZaraNet | 初学一级 | 园豆:31
提问于:2019-09-24 15:03

难道是 .net core 不支持返回System.IServiceProvider的ConfigureServices。 吗

ZaraNet 4年前

.net core 2.1 就可以。。

ZaraNet 4年前
< >
分享
最佳答案
0

在 Startup 的 ConfigureContainer 方法中配置 AutoFac

public void ConfigureContainer(ContainerBuilder builder)
{
    builder.RegisterModule(new AutofacModule());
}

详见 https://docs.autofac.org/en/latest/integration/aspnetcore.html#startup-class

收获园豆:15
dudu | 高人七级 |园豆:30994 | 2019-09-24 19:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册