IConfiguration不包含GetValue的定义

时间:2019-02-19 13:43:30

标签: c# asp.net configuration asp.net-core-2.2

在类中通过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;
        }
    }
}

2 个答案:

答案 0 :(得分:4)

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

原因是GetValue<T>extension method,并不直接存在于IConfiguration界面中。

答案 1 :(得分:2)

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

select id
from   sample_data
where  json_exists(colname, '$..apple?(@ != null)')
;

 ID
---
103