.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();
}
参考链接:
https://www.cnblogs.com/fanqisoft/p/10806799.html
.Net Core控制台程序读取Json配置文件的更多相关文章
- ASP.NET CORE入门之读取Json配置文件
首先新建一.net core控制台项目,命名为jsonReader 然后选中引用,选择NuGet包管理器,点击浏览引入mircosoft.aspnetcore.all并安装 选中解决方案,填加,新建项 ...
- .NET Core控制台利用【Options】读取Json配置文件
创建一个 .NET Core控制台程序 添加依赖 Microsoft.Extensions.Configuration Microsoft.Extensions.Configuration.FileE ...
- .net core读取json配置文件
一.新建.net core控制台程序 二.通过Nuget引入 Microsoft.Extensions.Configuration和microsoft.extensions.configuration ...
- [.NET Core] 简单读取 json 配置文件
简单读取 json 配置文件 背景 目前发现网上的 .NET Core 读取配置文件有点麻烦,自己想搞个简单点的. .NET Core 已经不使用之前的诸如 app.config 和 web.conf ...
- NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
.NET Core 控制台程序没有 ASP.NET Core 的 IWebHostBuilder 与 Startup.cs ,那要读 appsettings.json.注依赖.配日志.设 IOptio ...
- 【ASP.NET Core分布式项目实战】(五)Docker制作dotnet core控制台程序镜像
Docker制作dotnet core控制台程序镜像 基于dotnet SDK 新建控制台程序 mkdir /home/console cd /home/console dotnet new cons ...
- .Net Core 控制台程序错误:Can not find runtime target for framework '.NETCoreApp,Version=v1.0' compatible with one of the target runtimes: 'win10-x64, win81-x64, win8-x64, win7-x64'.
.Net Core 控制台程序错误:Can not find runtime target for framework '.NETCoreApp,Version=v1.0' compatible wi ...
- 大比速:remoting、WCF(http)、WCF(tcp)、WCF(RESTful)、asp.net core(RESTful) .net core 控制台程序使用依赖注入(Autofac)
大比速:remoting.WCF(http).WCF(tcp).WCF(RESTful).asp.net core(RESTful) 近来在考虑一个服务选型,dotnet提供了众多的远程服务形式.在只 ...
- 在.NET Core控制台程序中使用依赖注入
之前都是在ASP.NET Core中使用依赖注入(Dependency Injection),昨天遇到一个场景需要在.NET Core控制台程序中使用依赖注入,由于对.NET Core中的依赖注入机制 ...
- 如何在.NET Core控制台程序中使用依赖注入
背景介绍 依赖注入(Dependency Injection), 是面向对象编程中的一种设计原则,可以用来减低代码之间的耦合度.在.NET Core MVC中 我们可以在Startup.cs文件的Co ...
随机推荐
- 【Docker】网络管理
一.容器默认网络通信 Usage: dockerd [OPTIONS] Options: --icc Enable inter-container communication (default tru ...
- 2022-05-12:小歪每次会给你两个字符串: 笔记s1和关键词s2,请你写一个函数, 判断s2的排列之一是否是s1的子串。 如果是,返回true; 否则,返回false。 来自字节飞书团队。
2022-05-12:小歪每次会给你两个字符串: 笔记s1和关键词s2,请你写一个函数, 判断s2的排列之一是否是s1的子串. 如果是,返回true: 否则,返回false. 来自字节飞书团队. 答案 ...
- WPF入门教程系列二十四——DataGrid使用示例(1)
WPF入门教程系列二--Application介绍 WPF入门教程系列三--Application介绍(续) WPF入门教程系列四--Dispatcher介绍 WPF入门教程系列五--Window 介 ...
- Django django-rest-framework-simplejwt
Django(75)django-rest-framework-simplejwt「建议收藏」 发布于2022-09-16 11:56:13阅读 2440 大家好,又见面了,我是你们的朋友全栈君. ...
- Vue选日期滚动条自动定位到选定的日期位置
html 这里的关键点就是 :id="'scroll'+index" 以及 :scroll-into-view="intoIndex" <view c ...
- CF1825C LuoTianyi and the Show
传送门(luogu) 传送门(CF) 前言 我来水题解力 简化题意 \(n\) 个人,\(m\) 个座位,每个人落座的方法有三种: 坐最左边的人的左边,没人的话就做 \(m\) 号座位,若最左边的为 ...
- SpringMVC 简单的开始
SpringMVC简单的开始 利用Spring模板配置写一个web项目. 1.核心配置文件(模板代码) <?xml version="1.0" encoding=" ...
- Java 网络编程 —— 创建非阻塞的 HTTP 服务器
HTTP 概述 HTTP 客户程序必须先发出一个 HTTP 请求,然后才能接收到来自 HTTP 服器的响应,浏览器就是最常见的 HTTP 客户程序.HTTP 客户程序和 HTTP 服务器分别由不同的软 ...
- LINIUX 查询命令的 区别 chich whereis locate fing
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置 ...
- 华为云新一代分布式数据库GaussDB,给世界一个更优选择
摘要:与伙伴一起,共建繁荣开放的GaussDB数据库新生态. 本文分享自华为云社区<华为云新一代分布式数据库GaussDB,给世界一个更优选择>,作者:华为云头条. 6月7日,在华为全球智 ...