public IDisposable Load() { _wrappedBootstrapper = new WrappedBootstrapper(new T()); PackageRegistry.LoadPackages(x => { x.Bootstrapper(_wrappedBootstrapper); x.Loader(new BottleServicePackageLoader()); }); return(this); }
public BottleServiceRunner Bootstrap(string bootstrapperType = null) { if (bootstrapperType.IsNotEmpty()) { var type = Type.GetType(bootstrapperType); var bootstrapper = Activator.CreateInstance(type).As<IBootstrapper>(); var wrapped = new WrappedBootstrapper(bootstrapper); PackageRegistry.LoadPackages(x => x.Bootstrapper(wrapped)); PackageRegistry.AssertNoFailures(); return new BottleServiceRunner(wrapped.BottleServices()); } var facility = new BottlesServicePackageFacility(); PackageRegistry.LoadPackages(x => x.Facility(facility)); PackageRegistry.AssertNoFailures(); return facility.Aggregator.ServiceRunner(); }