/// <summary> /// 初始化配置容器 /// 首先尝试从后缀名-{环境名}的文件加载配置 /// 如果该文件不存在,则加载去除后缀名后的文件 /// <paramref name="environmentName">当前环境名称</paramref> /// <paramref name="fileBaseUrl">配置文件基地址</paramref> /// </summary> public static void InitConfigurationContainer(string environmentName, string fileBaseUrl) { var appConfigurationUri = $"{fileBaseUrl}{Path.DirectorySeparatorChar}Configurations{Path.DirectorySeparatorChar}app-{environmentName}.json"; if (!File.Exists(appConfigurationUri)) { appConfigurationUri = $"{fileBaseUrl}{Path.DirectorySeparatorChar}Configurations{Path.DirectorySeparatorChar}app.json"; } var hostConfigurationUri = $"{fileBaseUrl}{Path.DirectorySeparatorChar}Configurations{Path.DirectorySeparatorChar}host-{environmentName}.json"; if (!File.Exists(hostConfigurationUri)) { hostConfigurationUri = $"{fileBaseUrl}{Path.DirectorySeparatorChar}Configurations{Path.DirectorySeparatorChar}host.json"; } var loggerConfigurationUri = $"{fileBaseUrl}{Path.DirectorySeparatorChar}Configurations{Path.DirectorySeparatorChar}logger-{environmentName}.json"; if (!File.Exists(loggerConfigurationUri)) { loggerConfigurationUri = $"{fileBaseUrl}{Path.DirectorySeparatorChar}Configurations{Path.DirectorySeparatorChar}logger.json"; } ConfigurationContainer.Container = new ConfigurationContainerDefault(); var configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile(appConfigurationUri, optional: true, reloadOnChange: true) .Build(); //主机配置信息需要单独配置文件,目前framework版本不支持合并到主配置文件 var hostConfiguration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile(hostConfigurationUri, optional: true, reloadOnChange: true) .Build(); var loggerConfiguration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile(loggerConfigurationUri, optional: true, reloadOnChange: true) .Build(); //向配置容器增加主机配置信息 ConfigurationContainer.Add(ConfigurationNames.Host, hostConfiguration); //向配置容器增加主配置 ConfigurationContainer.Add(ConfigurationNames.Application, configuration); //向配置容器增加日志配置 ConfigurationContainer.Add(ConfigurationNames.Logger, loggerConfiguration); //向配置容器增加批处理配置 //ConfigurationContainer.Add(ConfigurationNames.Schedule, configuration); }