private static Options createOptions(CommandLineArguments arguments) { if (arguments.FreeArguments.Count != 1) { Console.WriteLine("You must specify exactly 1 path to VS 2010 solution"); return null; } Options options = new Options(arguments.FreeArguments[0]); if (arguments.NamedArguments.ContainsKey("target")) { string target = arguments.NamedArguments["target"]; if (!m_supportedTargets.Contains(target)) { Console.WriteLine("Invalid target"); return null; } options.Target = target; } if (arguments.NamedArguments.ContainsKey("output")) options.ResultDirectory = arguments.NamedArguments["output"]; if (arguments.NamedArguments.ContainsKey("solutionpostfix")) options.ResultSolutionPostfix = arguments.NamedArguments["solutionpostfix"]; if (arguments.NamedArguments.ContainsKey("replacesolutionpostfix")) options.ReplaceSolutionPostfix = arguments.NamedArguments["replacesolutionpostfix"]; if (arguments.NamedArguments.ContainsKey("projectpostfix")) options.ResultProjectPostfix = arguments.NamedArguments["projectpostfix"]; if (arguments.NamedArguments.ContainsKey("replaceprojectpostfix")) options.ReplaceProjectPostfix = arguments.NamedArguments["replaceprojectpostfix"]; return options; }
public static int Main(params string[] args) { try { CommandLineArguments arguments = new CommandLineArguments(args); Options options = createOptions(arguments); if (options == null) { printUsage(); return 1; } Converter converter = new Converter(options); converter.Execute(); return 0; } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); return 1; } }