Пример #1
0
        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();
        }