static void Main(string[] args) { try { ConfigurationBuilder builder = new ConfigurationBuilder(); if (args.Length > 0) { builder.AddJsonFile(Path.Combine(Directory.GetCurrentDirectory(), $"PublishCli-{args[0]}.json"), optional: true, reloadOnChange: true); Console.WriteLine($"当前环境 {args[0]}"); } else { builder.AddJsonFile(Path.Combine(Directory.GetCurrentDirectory(), "PublishCli.json"), optional: true, reloadOnChange: true); } AppConfig.ConfigurationRoot = builder.Build(); pbOptions = AppConfig.PublishOptions; if (pbOptions == null) { throw new ArgumentNullException("PublishOptions"); } pbOptions.ChkValid(); // 从源文件夹中读取列表 DirectoryInfo sourceDirectory = new DirectoryInfo(pbOptions.SourcePath); if (!sourceDirectory.Exists) { throw new Exception("找不到 SourcePath 文件夹"); } if (pbOptions.ClearDist) { if (Directory.Exists(pbOptions.DistPath)) { DeleteFolder(new DirectoryInfo(pbOptions.DistPath)); } } if (!Directory.Exists(pbOptions.DistPath)) { Directory.CreateDirectory(pbOptions.DistPath); } CopyFiles(sourceDirectory, pbOptions.PublishPath, pbOptions.DistPath); Console.WriteLine("Copy 完成!"); } catch (Exception ex) { Console.WriteLine("异常:" + ex.Message); } Console.ReadLine(); }