【问题标题】:Getting appsettings.json settings into an object of class type in .NET Core console application将 appsettings.json 设置放入 .NET Core 控制台应用程序中的类类型对象中
【发布时间】:2020-12-03 20:56:58
【问题描述】:

我想将配置从appsettings.json 拉到ExchangeOptions 类型的对象中。我知道configuration.Get<T>() 在 ASP.NET Core 中工作,但我忘记了 .NET Core 控制台应用程序的正确包。我目前有以下 NuGet 包:

  • Microsoft.Extensions.Configuration
  • Microsoft.Extensions.Configuration.FileExtensions
  • Microsoft.Extensions.Configuration.Json

下面的例子很容易解释。

appsettings.json

{
  "ExchangeConfiguration": {
    "Exchange": "Binance",
    "ApiKey": "modify",
    "SecretKey": "modify"
  }
}

程序.cs

using Microsoft.Extensions.Configuration;
using System;

public class ExchangeOptions
{
    public Exchange Exchange { get; set; }
    public string ApiKey { get; set; }
    public string SecretKey { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        IConfiguration configuration = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json")
            .Build();
    
        // These work fine
        var exchange = configuration["ExchangeConfiguration:Exchange"];
        var apiKey = configuration["ExchangeConfiguration:ApiKey"];
        var secretKey = configuration["ExchangeConfiguration:SecretKey"];

        // This doesn't work, because I don't have the right NuGet package
        ExchangeOptions exchangeOptions = configuration.Get<ExchangeOptions>();
    
        Console.ReadKey();
    }
}

【问题讨论】:

    标签: c# appsettings


    【解决方案1】:

    configuration.Get&lt;ExchangeOptions&gt;() 的正确包是 Microsoft.Extensions.Configuration.Binder。还是谢谢!

    【讨论】:

      猜你喜欢
      • 2023-04-10
      • 1970-01-01
      • 2020-07-14
      • 2020-05-20
      • 1970-01-01
      • 2016-11-02
      • 2021-03-14
      • 2018-09-12
      • 2016-12-07
      相关资源
      最近更新 更多