.Net Core控制台程序读取Json配置文件
1 添加依赖(可以直接通过nuget包安装 Microsoft.Extensions.Configuration.Json 这个会依赖其他两个会自动安装依赖的)
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.FileExtensions
Microsoft.Extensions.Configuration.Json
2. 在项目中添加Json配置文件并将其“复制到输出目录”属性设置为“始终复制”

3.读取配置的类
#region Description
/**
 *  通过 Nuget 安装依赖 Microsoft.Extensions.Configuration.Json
 *  新增JSON文件,需要设置 属性-> 生成操作:内容  复制到输出目录:始终复制
 */
#endregion
using Microsoft.Extensions.Configuration;
using System.IO;
namespace DaemonJos
{
    public class Configuration
    {
        static readonly string CONFIG_FILE = "AppConfig.json";  // 配置文件地址
        static IConfiguration Configs;
        /// <summary>
        /// 获取配置文件的配置节点
        /// </summary>
        /// <param name="configKey">多个节点可以用英文.号隔开</param>
        /// <returns></returns>
        public static string GetConfiguration(string configKey)
        {
            if (Configs == null)
            {
                var build = new ConfigurationBuilder();
                build.SetBasePath(Directory.GetCurrentDirectory());  // 获取当前程序执行目录
                build.AddJsonFile(CONFIG_FILE, true, true);
                Configs = build.Build();
            }
            if (configKey.Contains("."))
            {
                IConfigurationSection child = null;
                foreach (string key in configKey.Split('.'))
                {
                    if (child == null)
                        child = Configs.GetSection(key);
                    else
                        child = child.GetSection(key);
                }
                return (child == null) ? "" : child.Value;
            }
            else
            {
                return Configs.GetSection(configKey).Value;
            }
        }
    }
}
4.调用
static void Main(string[] args)
{
  Console.WriteLine("Hello World!");
  string sqlStr = Configuration.GetConfiguration("ConnectionStrings.ConfigurationInDB");
  Console.WriteLine(Configuration.GetConfiguration("BasePath"));
  Console.WriteLine(sqlStr);
  Console.ReadKey();
}
参考链接:

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号