引入NuGet
注冊Autofac
在Program的var app = builder.Build();前加上這段代碼

1 builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()); 2 builder.Host.ConfigureContainer<ContainerBuilder>(builder => 3 { 4 builder.RegisterType<LogRecordsService>().As<ILogRecordsService>(); 5 });
自動注冊一個類庫的服務
在Program注入autofac

1 builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()); 2 builder.Host.ConfigureContainer<ContainerBuilder>(builder => 3 { 4 Assembly assembly = Assembly.Load(ServiceCore.GetAssemblyName()); 5 builder.RegisterAssemblyTypes(assembly) 6 .AsImplementedInterfaces() 7 .InstancePerDependency(); 8 });
在要注冊的類庫下的某個類中,寫一個方法

1 public static class ServiceCore 2 { 3 /// <summary> 4 /// 獲取程序集名稱 5 /// </summary> 6 /// <returns></returns> 7 public static string GetAssemblyName() 8 { 9 return Assembly.GetExecutingAssembly().GetName().Name; 10 } 11 }