.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();
}
参考链接: