命令行配置
我们通过vs2017创建一个控制台项目CommandLineSample
可以看到此刻项目以来的是dotnet core framework
我们需要吧asp.net core引用进来,我们可以直接添加Microsoft.AspNetCore.All
安置完成之后,我们可以通过using Microsoft.Extensions.Configuration;来进行后续的配置
using System; using Microsoft.Extensions.Configuration; namespace CommandLineSample { class Program { static void Main(string[] args) { var builder = new ConfigurationBuilder()//初始化一个ConfigurationBuilder .AddCommandLine(args);//扩展函数 var configuration = builder.Build();//拿到configuration //检察configuration里面有什么 Console.WriteLine($"name:{configuration["name"]}"); Console.WriteLine($"age:{configuration["age"]}"); Console.ReadLine(); } } }
View Code这时候直接执行的话不会有功效,因为我们没有对configuration进行配置
我们可以在调试里面进行参数配置
运行功效
configuration一般以键值对的形式存在,我们如果要给他通报默认的参数的话,可以用一个dictionary来通报,然后以内存的形式添加进去
using System; using System.Collections.Generic; using Microsoft.Extensions.Configuration; namespace CommandLineSample { class Program { static void Main(string[] args) { var settings = new Dictionary<string, string> { {"name","wyt"}, { "age","18"} }; var builder = new ConfigurationBuilder()//初始化一个ConfigurationBuilder .AddInMemoryCollection(settings)//以内存的形式添加进来 .AddCommandLine(args);//扩展函数 var configuration = builder.Build();//拿到configuration //检察configuration里面有什么 Console.WriteLine($"name:{configuration["name"]}"); Console.WriteLine($"age:{configuration["age"]}"); Console.ReadLine(); } } }
View Code这个时候我们就可以将调试里面的参数去失了
直接用控制台启动项目
可以看到通报参数和不通报参数会有差此外配置显示效果
Json文件配置新建控制台项目JsonConfigSample
我们需要吧asp.net core引用进来,我们可以直接添加Microsoft.AspNetCore.All
然后新建json文件 class.json 并生成到bin