宇宙超能无敌之饼干怪

首页 新随笔 联系 管理

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

  1. 需要安装两个依赖包
  • 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"
  }
}
posted on 2024-04-28 16:15  lazycookie  阅读(9)  评论(0编辑  收藏  举报