.netcore读取配置文件

时间:2023-03-09 17:11:32
.netcore读取配置文件

setting.json

{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5"
},
"exclude": [
"node_modules",
"wwwroot"
]
}

引用Nuget:

Microsoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.Json

        static void Main(string[] args)
{
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory()) //SetBasePath设置配置文件所在路径
.AddJsonFile("setting.json"); var configRoot = builder.Build(); var compilerOptionsvalue =configRoot.GetSection("compilerOptions").GetSection("noImplicitAny").Value;
Console.WriteLine(compilerOptionsvalue);
//False var excludevalue = configRoot.GetSection("exclude").GetChildren();
foreach (var item in excludevalue)
{
Console.WriteLine(item.Value);
}
//"node_modules","wwwroot" Console.Read();
}

参考:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/configuration/index?view=aspnetcore-2.1

简单方式

json

{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5"
},
"exclude": [
"node_modules",
"wwwroot"
],
"wizerd": [
{ "Name": "tangsan","Age":30 },
{ "Name": "niuchacha","Age":22 }
]
}

读取方式:

            Console.WriteLine($"Default = {this.Configuration["Logging:LogLevel:Default"]}");
Console.WriteLine($"AllowedHosts = {this.Configuration["AllowedHosts"]}");
Console.WriteLine($"noImplicitAny = {this.Configuration["compilerOptions:noImplicitAny"]}");
Console.WriteLine($"target = {this.Configuration["compilerOptions:target"]}");
Console.WriteLine($"exclude[0] = {this.Configuration["exclude:0"]}");
Console.WriteLine($"exclude[1] = {this.Configuration["exclude:1"]}");
Console.WriteLine($"wizerd[0].Name = {this.Configuration["wizerd:0:Name"]}");
Console.WriteLine($"wizerd[1].Name = {this.Configuration["wizerd:1:Name"]}");

.netcore读取配置文件