static void Main(string[] args) { string connectionString = null; string outputPath = null; OptionSet p = new OptionSet() { { "c|connectionString=", v => connectionString = v }, { "o|outputPath=", v => outputPath = v } }; var extra = p.Parse(args); if (connectionString != null && outputPath != null) { var sql = new SqlInstance(connectionString); sql.Script(outputPath, s => Console.WriteLine(s)); } else { throw new Exception("Invalid parameters, connectionstring and outputPath must be set."); } }