static Dictionary <string, string> GetBuildConfiguration()
        {
            var buildConfigurationFile = GetBuildConfigurationFile();

            if (buildConfigurationFile.Exists)
            {
                return(CoinConfigurationSerializer.Deserialize(File.ReadAllText(buildConfigurationFile.FullName)));
            }

            return(new Dictionary <string, string>());
        }
        /// <summary>
        /// 合并配置文件
        /// </summary>
        /// <param name="option"></param>
        /// <param name="configuration"></param>
        public static FileConfigurationRepo MergeConfiguration(InitOption option, ConfigurationEnum configuration)
        {
            // 放在机器的配置
            var globalConfigurationFile = GetGlobalConfigurationFile();

            Dictionary <string, string> machineConfiguration = new Dictionary <string, string>();

            if (!globalConfigurationFile.Exists)
            {
                Log.Debug("没有找到机器配置" + globalConfigurationFile.FullName);
                // 不存在机器配置
            }
            else
            {
                // 规则是如果当前存在的,那么就不从机器获取
                machineConfiguration = CoinConfigurationSerializer.Deserialize(File.ReadAllText(globalConfigurationFile.FullName));
            }

            var currentConfiguration = GetBuildConfiguration();

            foreach (var(key, value) in machineConfiguration)
            {
                if (!currentConfiguration.ContainsKey(key))
                {
                    currentConfiguration[key] = value;
                }
            }

            SetLogLevel(configuration, currentConfiguration);

            // 下面代码只是让配置文件里面可以告诉小伙伴这个文件是做什么
            currentConfiguration["AAA须知"] = "此文件为构建过程多个命令共享信息使用,请不要加入代码仓库";

            // 序列化写入
            var fileConfiguration = ConfigurationHelper.GetCurrentConfiguration();
            IConfigurationRepo configurationRepo = fileConfiguration;

            foreach (var(key, value) in currentConfiguration)
            {
                configurationRepo.SetValue(key, value);
            }

            return(fileConfiguration);
        }