static int Main(string[] arguments) { CoreSettings settings = new CoreSettings(); Parser parser = new Parser(s => { s.IgnoreUnknownArguments = true; s.CaseSensitive = true; }); if(!parser.ParseArguments(arguments, settings)) { return 1; } else { return Launch(settings, arguments); } }
private static int Launch(CoreSettings settings, string[] arguments) { settings.Arguments = arguments; IKernel kernel = new StandardKernel(new NinjectSettings { LoadExtensions = true }); kernel.Bind<ILogger>() .ToProvider(new LoggerProvider((settings))); kernel.Bind<ICore>() .To<NinjectCore>() .InSingletonScope() .WithConstructorArgument("kernel", kernel) .WithConstructorArgument("settings", settings); ICore core = kernel.Get<ICore>(); Console.CancelKeyPress += new ConsoleCancelEventHandler((source, args) => core.Stop()); core.Start(); return 0; }