public static void Main(string[] args) { bool otherwise = false; if (args.Length >= 1) { switch (args[0]) { case "new": if (args.Length == 2) { using (var newP = CallDotnet(new[] { "new console -o", args[1] })) { newP.BeginOutputReadLine(); newP.BeginErrorReadLine(); newP.WaitForExit(); Thread.Sleep(10); // For safety reason. } File.Delete(Path.Combine(args[1], "Program.cs")); } else { InvalidInput(args.SubArray(2)); } otherwise = true; break; case "run": foreach (FileInfo file in new DirectoryInfo(Environment.CurrentDirectory).GetFiles()) { if (file.Extension != ".csp") { continue; } var t = new Translater(file.FullName); t.Output(); if (!t.Success) { continue; } using (var runP = CallDotnet("run")) { runP.BeginOutputReadLine(); runP.BeginErrorReadLine(); runP.WaitForExit(); Thread.Sleep(10); // For safety reason. } } otherwise = true; break; case "--help": Console.WriteLine(help.help_txt); otherwise = true; break; case "--version": Console.WriteLine("Csp.net 版本" + Assembly.GetExecutingAssembly().GetName().Version); Console.Write(".NET Core SDK 版本"); CallDotnet("--version"); otherwise = true; break; default: CallDotnet(args); otherwise = true; break; } } if (!otherwise) { Console.WriteLine(help.help_txt); } #if DEBUG Console.ReadKey(); #endif }