private static Container ConfigureServices() { UtilReflection.LoadAllAssemblies(); var container = new Container(); container.Register <IDefinitionExecutor, DefinitionExecutor>(); container.Register <ITemplateLoaderFactory, TemplateLoaderFactory>(); container.Register <IEngineFactory, EngineFactory>(); container.Register <IResultProcessorFactory, ResultProcessorFactory>(); var serviceLocator = new SimpleInjectorServiceLocator(container); container.Register <IServiceLocator>(() => serviceLocator); var provider = new SimpleInjectorProvider(container); container.Register <ConsoleModeManager>(); container.Register <IMacroManager, MacroManager>(); // IMPORTANT! Register our application entry point container.Register <Application>(Lifestyle.Transient); return(container); }