public static Task <int> MainCore(string[] args, HttpSource httpSource, ILogger log) { CmdUtils.LaunchDebuggerIfSet(ref args, log); var app = new CommandLineApplication() { Name = "NuGetMirror", FullName = "nuget mirror" }; app.HelpOption(Constants.HelpOption); app.VersionOption("--version", (new NuGetVersion(CmdUtils.GetAssemblyVersion())).ToNormalizedString()); app.Description = "Mirror a nuget v3 feed."; Configure(); ListCommand.Register(app, httpSource, log); NupkgsCommand.Register(app, httpSource, log); app.OnExecute(() => { app.ShowHelp(); return(1); }); var exitCode = 1; try { exitCode = app.Execute(args); } catch (CommandParsingException ex) { ex.Command.ShowHelp(); } catch (Exception ex) { ExceptionUtils.LogException(ex, log); } return(Task.FromResult(exitCode)); }