最近在学习博客园腾飞(jesse)的.Net Core视频教程,收益匪浅,在此作推荐 : http://video.jessetalk.cn/

言归正传,.Net Core应用程序中如何通过命令行读取配置文件呢?首先,新建一个.Net Core控制台引用程序,创建过程在此不在赘述。

创建好后,我们需要在Nuget管理器中添加Microsoft.AspNetCore.All的引用,添加方法:引用-》管理NuGet包程序-》浏览,如图:

在搜索栏中搜索 Microsoft.AspNetCore.All 并安装,中间有个提示是否接受的提示框,选择接受即可。

引用添加成功后,打开Program.cs,添加

using Microsoft.Extensions.Configuration;

然后,可以把Main 函数中的代码删除,改成如下所示的代码。

 class Program
{
static void Main(string[] args)
{ var builder = new ConfigurationBuilder()
.AddCommandLine(args);
var configuration = builder.Build();
Console.WriteLine($"name:{configuration["name"]}");
Console.WriteLine($"age:{configuration["age"]}");
Console.ReadLine();
}
}

我们需要从配置文件中读取name信息和age信息,直接运行程序是读取不到结果的,会是如下显示:

可以看到,没有读取到任何信息,因为我门并没有从命令行中传值呢! 在测试环境下,我们可以选中该项目,点击属性,

选择调试 ,在引用程序参数中输入:

name=test age=18

如图:

然后,我们启动项目,即可看到结果了(记得保存)。

那么,在实际的应用环境中,如何进行命令行传参呢?

我们直接在cmd中打开该应用程序的dll文件, 搜先要进入dll文件所在的目录,然后用dotnet命令运行dll文件,如图:

正常输出。

我们还可以在内存中进行预先配置配置数据,当命令行中没有传参时,预先读取内存中的配置,方法如下:

  class Program
{
static void Main(string[] args)
{
var settings=new Dictionary<string,string>()
{
{ "name","123"},
{ "age","100"}
};
var builder = new ConfigurationBuilder()
.AddInMemoryCollection(settings)
.AddCommandLine(args);
var configuration = builder.Build();
Console.WriteLine($"name:{configuration["name"]}");
Console.WriteLine($"age:{configuration["age"]}");
Console.ReadLine();
}
}

这样,即使我们在命令行中没有产地参数,也能在内存中读取到配置数据,在CMD中运行如下:


该项目的GitHub地址如下:

https://github.com/liuzhenyulive/vide.jessetalk.cn

有任何问题欢迎留言交流。

.Net Core从命令行读取配置文件的更多相关文章

  1. ruby 从命令行读取文本

    最常见的方式就是使用内置的get 方法,这个方法可以从命令行读取用户的输入,并在默认的情况下把读入的文本赋值给预定义变量$_. 但是get方法会保留用户在输入字符串末尾所加的换行符,当用户在输入的字符 ...

  2. vs for Mac中的启用Entity Framework Core .NET命令行工具

    在vs for Mac的工具菜单中已没有了Package Manager Console. 我们可以通过以下方法使用Entity Framework Core .NET命令行工具: 1.添加Nuget ...

  3. 使用.Net Core编写命令行工具(CLI)

    命令行工具(CLI) 命令行工具(CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行. 通常认为,命令行工具(CLI)没有 ...

  4. Python解析命令行读取参数 -- argparse模块

    在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数.万能的python就自带了argprase包使得这一工作变得简单而规范.PS:optparse包是类似的功能,只不过写 ...

  5. ASP.NET Core实现类库项目读取配置文件

    前言 之前继续在学习多线程方面的知识,忽然这两天看到博问中有个园友问到如何在.net core类库中读取配置文件,当时一下蒙了,这个提的多好,我居然不知道,于是这两天了解了相关内容才有此篇博客的出现, ...

  6. .NET Core在类库中读取配置文件appsettings.json

    在.NET Framework框架时代我们的应用配置内容一般都是写在Web.config或者App.config文件中,读取这两个配置文件只需要引用System.Configuration程序集,分别 ...

  7. mac 命令行读取 u盘

    mac 系统命令行读取u盘

  8. odoo server命令行以及配置文件

    odoo server 启动时 def main(args): check_root_user() odoo.tools.config.parse_config(args) check_postgre ...

  9. ASP.NET Core轻松入门Bind读取配置文件到C#实例

    首先新建一个ASP.NET Core空项目,命名为BindReader 然后 向项目中添加一个名为appsettings.json的json文件,为什么叫appsettings呢?  打开Progra ...

随机推荐

  1. vue中如何获取后台数据

    原文链接:http://blog.csdn.net/vergilgeekopen/article/details/68954940 需要引用vue-resource 安装请参考https://gith ...

  2. js中如何处理大量有规律的变量

    var a1=document.getElementById('a1'); var a1=document.getElementById('a2'); var a1=document.getEleme ...

  3. C++/C高质量编程指南-笔记

    复习: C/C++高质量编程指南: [规则1-2-1]为了防止头文件被重复引用,应当用ifndef/define/endif结构产生预处理块. [规则1-2-2]用 #include <file ...

  4. java windows自动化-mail自动发邮件

    本文旨在让测试人员了解如何发邮件 发邮件的话,最简单的事是直接手动发邮件,但是在自动化测试中,应做到让机器或者代码来自动发送邮件,笔者大概了解以下几种方法,总有一款口味适合你:1java代码来做下面即 ...

  5. 通过 AJAX 加载的 JavaScript 脚本的调试

     //# sourceURL=  注意#后面有一个空格.

  6. Linux下jdk环境配置

    1.下载jdk http://www.oracle.com/technetwork/java/javase/downloads/index.html 我选择64位的版本 jdk-8u121-linux ...

  7. C++函数返回值发生的对象复制

    最近用QT做一个监控系统的项目,需要显示目标的运动轨迹,每次目标移动后,就在目标的轨迹中(用vector记录)添加一条新轨迹. 但是在运行中画面里一直不出现轨迹,经过调试发现是记录轨迹的函数出错了. ...

  8. 阿里云学习之IOT物联网套件(配置篇)

    文档时间:2018.-1-24 首注:此文章是参照以下文章的整合与补充: https://bbs.aliyun.com/read/309106.html?amp;displayMode=1&p ...

  9. [CJOJ2410]数列操作d

    [CJOJ2410]数列操作d 标签: 线段树 题解 没时间写题了,我来嘴巴AC吧. 注意区间加的这个值不是 确定的,随着元素位置的变化而改变. 只需要能维护这个东西剩下的就很好做了. 那么\(x*( ...

  10. header 头各种类型文件下载

    function down_file($url,$type='application/zip'){     header("Cache-Control: public");     ...