using Autofac; using System; using System.Linq; using System.Collections.Generic; using System.Reflection; using System.Text; using APT.Infrastructure.Core; namespace APT.Infrastructure.Api { public class DefaultAutofacModuleRegister : Autofac.Module { protected override void Load(ContainerBuilder builder) { Assembly[] assemblies = System.IO.Directory.GetFiles( System.AppContext.BaseDirectory, "APT.*.dll"). Select(m => Assembly.LoadFrom(m)).ToArray(); builder.RegisterAssemblyTypes(assemblies). Where(t => typeof(IDependInject).IsAssignableFrom(t)).AsImplementedInterfaces(). InstancePerLifetimeScope(); } } }