public Converter(Options options)
        {
            if (options == null)
                throw new ArgumentNullException("options");

            m_options = options;
            m_visualStudioFormat = VisualStudioFileFormat.Create(m_options.Target);
        }
        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;
        }