public static void NuMain(StringBuilder b, string path, Func <ICommandManager, ICommand> commandBuilder) { var lastOut = Console.Out; var fileSystem = new PhysicalFileSystem(path ?? Directory.GetCurrentDirectory()); try { Console.SetOut(new ConsoleWriter(b)); RemoveOldFile(fileSystem); var program = new NuProgram(); _initializeMethod.Invoke(program, new[] { fileSystem }); HttpClient.DefaultCredentialProvider = new ConsoleCredentialProvider(); foreach (var command2 in program.Commands) { program.Manager.RegisterCommand(command2); } var command = commandBuilder(program.Manager); if (!NuProgram.ArgumentCountValid(command)) { var commandName = command.CommandAttribute.CommandName; Console.WriteLine("InvalidArguments", commandName); program.HelpCommand.ViewHelpForCommand(commandName); } else { command.Execute(); } } finally { Console.SetOut(lastOut); } }
public API_NuGet SetUp() { NuGet_Program = new Program(); NuGet_Console = new Console(); return this; }