Skip to content

如何在 .NET Core 控制台程序中获取配置项?

🏷️ .NET Core

.NET Core 控制台程序默认是没有配置文件的,也不含相关的包,需要手动安装。

  1. 首先要安装 Microsoft.AspNetCore.All 包,这里为了和 Docker 中的环境一致,所以安装的 2.1.5 版。

    powershell
    Install-Package Microsoft.AspNetCore.All -Version 2.1.5
  2. 新建 appsettings.json 文件

    json
    {
        "Service": {
            "Name": "ConsoleApplication", // 服务名
        }
    }
  3. 通过 ConfigurationBuilder 构建 configuration,并通过 IConfiguration.Bind 扩展方法绑定到设置类的实例(类的属性和配置文件中的 Service 部分要一致)。

    csharp
    IConfigurationBuilder builder = new ConfigurationBuilder()
        .AddJsonFile("appsettings.json");
    IConfigurationRoot configuration = builder.Build();
    
    var serviceSettings = new ServiceSettings();
    configuration.GetSection("Service").Bind(serviceSettings);