Методы чтения файла appsettings.json в консольном приложении .NET Core

Чтобы прочитать файл appsettings.json в консольном приложении.NET Core, вы можете использовать различные методы. Вот несколько подходов:

Метод 1: использование IConfiguration

  1. Добавьте ссылку на пакет Microsoft.Extensions.Configuration в проект консольного приложения.
  2. В своем коде создайте экземпляр ConfigurationBuilder:
    var builder = new ConfigurationBuilder()
       .SetBasePath(Directory.GetCurrentDirectory())
       .AddJsonFile("appsettings.json");
  3. Создайте конфигурацию:
    var configuration = builder.Build();
  4. Доступ к значениям из файла appsettings.json:
    var value = configuration["Key"];

Метод 2: привязка к модели конфигурации

  1. Определите класс модели конфигурации, который представляет структуру вашего файла appsettings.json:
    public class AppSettings
    {
       public string Key { get; set; }
    }
  2. Настройте файл appsettings.json для загрузки и привязки к модели конфигурации:

    var builder = new ConfigurationBuilder()
       .SetBasePath(Directory.GetCurrentDirectory())
       .AddJsonFile("appsettings.json");
    
    var configuration = builder.Build();
    var appSettings = new AppSettings();
    configuration.Bind(appSettings);
  3. Доступ к значениям из модели конфигурации:
    var value = appSettings.Key;

Метод 3: использование шаблона параметров

  1. Определите класс модели конфигурации, как описано в методе 2.
  2. Зарегистрируйте модель конфигурации в контейнере внедрения зависимостей:
    services.Configure<AppSettings>(configuration.GetSection("AppSettings"));
  3. Внедрите модель конфигурации в свой класс:

    public class MyClass
    {
       private readonly AppSettings _appSettings;
    
       public MyClass(IOptions<AppSettings> appSettings)
       {
           _appSettings = appSettings.Value;
       }
    }