正在将appsettings.json设置获取到.NET Core控制台应用程序中的类类型对象中



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

  • Microsoft.Extensions.Configuration
  • Microsoft.Extensions.Configuration.FileExtensions
  • Microsoft.Extension.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();
}
}

configuration.Get<ExchangeOptions>()的正确包是Microsoft.Extensions.Configuration.Binder。无论如何,谢谢!

最新更新