dotnet的console应用如何使用配置文件
Console.Config\Program.cs
using Microsoft.Extensions.Configuration;
var basePath = Directory.GetCurrentDirectory();
var configuration = new ConfigurationBuilder()
.SetBasePath(basePath) // 设置基本路径
.AddJsonFile("appsettings.json") // 添加配置文件
.Build();
var apiKey = configuration["AppSettings:ApiKey"] ?? throw new InvalidOperationException("AppSettings:ApiKey在appsettings.json未发现");
var connectionString = configuration["AppSettings:DatabaseConnectionString"];
Console.WriteLine($"ApiKey: {apiKey}");
Console.WriteLine($"Database Connection String: {connectionString}");
var configs = configuration.GetSection("AppSettings").GetChildren();
foreach(var item in configs)
{
System.Console.WriteLine(item.Path);
System.Console.WriteLine(item.Key);
System.Console.WriteLine(item.Value);
System.Console.WriteLine("----------------------------");
}
Console.Config\Console.Config.csproj
- 需要安装两个依赖包
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Json
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
</ItemGroup>
</Project>
Console.Config\appsettings.json
{
"AppSettings": {
"ApiKey": "your-api-key",
"DatabaseConnectionString": "your-connection-string"
}
}