IConfiguration 不包含 GetValue 的定义

在项目中移动一个类之后,IConfiguration的一个方法 GetValue<T>就停止工作了:

using Newtonsoft.Json;
using System;
using System.Net;
using System.Text;
using Microsoft.Extensions.Configuration;


namespace Company.Project.Services
{
public class MyService
{
private readonly IConfiguration _configuration;


public string BaseUri => _configuration.GetValue<string>("ApiSettings:ApiName:Uri") + "/";


public MyService(
IConfiguration configuration
)
{
_configuration = configuration;
}
}
}

我该怎么补救?

55292 次浏览

只需安装 Microsoft.Extensions.Configuration.Binder,该方法将可用。

原因是 GetValue<T>是一个 推广方法推广方法,并不直接存在于 IConfiguration接口中。

最佳答案在这里是最合适的。但是,另一种选择是通过传入键来获取字符串形式的值。

public string BaseUri => _configuration["ApiSettings:ApiName:Uri"] + "/";