private static Arguments ValidateArgs(string[] args) { ArgumentsAdapter argumentsAdapter = new ArgumentsAdapter(args); Unless(argumentsAdapter.AreValid, () => DieBecause("Incorrect arguments, usage: ", argumentsAdapter.Usage) ); string argument = argumentsAdapter.Get(ArgumentsAdapter.Names.Command); string workingDirectory = argumentsAdapter.Get(ArgumentsAdapter.Names.WorkingDirectory); string assemblyName = argumentsAdapter.Get(ArgumentsAdapter.Names.AssemblyName); Unless(Directory.Exists(workingDirectory), () => DieBecause("The library directory could not be found: <{0}>", workingDirectory) ); Unless(Command.Exists(argument), () => DieBecause("The command is invalid: {0}", argument) ); return new Arguments(argument,workingDirectory,assemblyName); }