.NET Core & ConsoleApp & appsettings.json

Wesley13
• 阅读 757

准备

  • Visual Studio 2017
  • .NET Core 2.1

新建控制台应用(.NET Core)

.NET Core & ConsoleApp & appsettings.json

默认的 Program.cs

// Program.cs
using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

新建 appsettings.json

我们需要从指定的配置文件中读取配置内容,因此我们新建一个配置文件.

右键项目 - 添加新项,我们新建一个叫做 appsettings.json 的文件

.NET Core & ConsoleApp & appsettings.json

修改 appsettings.json 文件内容如下:

{
  "ConnectionStrings": {
    "DefaultConnectionString":  "Data Source=localhost;Database=db;User ID=user;Password=pwd"
  }
}

并调整 appsettings.json 文件属性,以便每次编译时能自动把配置拷贝到程序目录

.NET Core & ConsoleApp & appsettings.json

安装依赖库

我们需要读取 appsettings.json 配置文件,因此安装如下依赖库

PM> Install-Package Microsoft.Extensions.Configuration -Version 2.1.1 -Verbose
PM> Install-Package Microsoft.Extensions.Configuration.Json -Version 2.1.1 -Verbose

修改后的 Program.cs

// Program.cs
using Microsoft.Extensions.Configuration;
using System;
using System.IO;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            IConfigurationRoot configuration = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile(path: "appsettings.json", optional: true, reloadOnChange: true)
                .Build();

            string defaultConnectionString = configuration.GetConnectionString("DefaultConnectionString");

            Console.WriteLine(defaultConnectionString);
            Console.ReadKey();
        }
    }
}

这个时候, 我们可以编译&启动看看效果,如下:

.NET Core & ConsoleApp & appsettings.json

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
2年前
Vue+Electron从零开始打造一个本地播放器
△是新朋友吗?记得先点web前端学习圈关注我哦~!(https://oscimg.oschina.net/oscnet/fa62135a72114615886ea5ac626cb09e.jpg)!(https://oscimg.oschina.net/oscnet/1d12e085b28e447192624d388b
Wesley13 Wesley13
2年前
ELK之八
一、logstash结合kafka收集系统日志和nginx日志架构图:!(https://oscimg.oschina.net/oscnet/2d28dece38ea896fdb974165c799ff8130a.png)环境准备:A主机:kibana、e
Stella981 Stella981
2年前
KaliTools说明书+BurpSuit实战指南+SQL注入知识库+国外渗透报告
!(https://oscimg.oschina.net/oscnet/d1c876a571bb41a7942dd9752f68632e.gif"15254461546.gif")0X00KaliLinux Tools中文说明书!(https://oscimg.oschina.net/oscnet/
Stella981 Stella981
2年前
Axure中怎么制作锚点
实现目标点击导航条不同的菜单,页面跳到菜单相应的位置,实现页面自动滚动。1. 拖入编辑区3个矩形,并相应命名为菜单1,菜单2,菜单3;!(https://oscimg.oschina.net/oscnet/06f0b4fbaf28e43de8bbf44d62d356f0f27.png)2. 再新建3个想要制作的文本框准备进行
Stella981 Stella981
2年前
GitHub 上有哪些适合新手跟进的优质项目?
!(https://oscimg.oschina.net/oscnet/011f28e3bc332010e1442e6c00ed344805d.jpg)点击上方“迈微电子研发社”,选择“星标★”公众号重磅干货,第一时间送达!(https://oscimg.oschina.net/oscnet/cd44ba75f
Stella981 Stella981
2年前
Log system architecture
0\.技术选型参考!Architecture(https://oscimg.oschina.net/oscnet/915f28e4bd061d777a3857d069fafdd929e.png)1\.CollectorKeywords:Collector,Processor名称
Stella981 Stella981
2年前
2017前端发展回顾,来看看2017前端都经历了什么?
!(https://oscimg.oschina.net/oscnet/eddd98a51ab248fb82b28adde0347661.png)!(https://oscimg.oschina.net/oscnet/eddd98a51ab248fb82b28adde0347661.png)!(https://oscimg.o
可莉 可莉
2年前
2017前端发展回顾,来看看2017前端都经历了什么?
!(https://oscimg.oschina.net/oscnet/eddd98a51ab248fb82b28adde0347661.png)!(https://oscimg.oschina.net/oscnet/eddd98a51ab248fb82b28adde0347661.png)!(https://oscimg.o
Wesley13 Wesley13
2年前
021. 分布式消息中间件设计篇
1\.单体架构!(https://oscimg.oschina.net/oscnet/up4a28cccdc89e2bf93a30ed27f088d6b82a8.png)2\.分布式系统架构!(https://oscimg.oschina.net/oscnet/upbe6479e1b43