AutoFac在非Web项目中使用
添加类
public class AutofacBuilder { private static IContainer _container; public static void init() { ContainerBuilder builder = new ContainerBuilder(); //配置接口依赖 //builder.RegisterType().As //EF依赖注入 builder.RegisterType(); ().As //这一句可以不要,因为下面已经把当前程序集下的类注入了ico容器 //注册当前程序集的所有类成员 //builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()).AsImplementedInterfaces().AsSelf();(); 
          //builder.RegisterType
                      //builder.RegisterType
_container = builder.Build(); //只有在Build之后,才能调用GetFromFac } public static T GetFromFac() { return _container.Resolve (); } 
       public static T GetFromFac
              {
                    return _container.ResolveNamed
              }
    }
(form)在项目入口使用:
static class Program { ////// 应用程序的主入口点。 /// [STAThread] static void Main() { AutofacBuilder.init(); //使用 Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } 
静态全局使用:
var srv1 = AutofacBuilder.GetFromFac();