static void Main(string[] _) { var builder = new ContainerBuilder(); builder.RegisterModule <FlvProcessorModule>(); builder.RegisterModule <CoreModule>(); builder.RegisterType <CommandConfigV1>().As <ConfigV1>().InstancePerMatchingLifetimeScope("recorder_root"); Container = builder.Build(); RootScope = Container.BeginLifetimeScope("recorder_root"); Recorder = RootScope.Resolve <IRecorder>(); if (!Recorder.Initialize(System.IO.Directory.GetCurrentDirectory())) { Console.WriteLine("Initialize Error"); return; } Parser.Default .ParseArguments <CommandConfigV1>(() => (CommandConfigV1)Recorder.Config, Environment.GetCommandLineArgs()) .WithParsed(Run); }