asp.net IConfiguration不包含GetValue的定义

uubf1zoe  于 2023-04-22  发布在  .NET
关注(0)|答案(2)|浏览(220)

在项目中移动一个类后,其中一个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;
        }
    }
}

我该怎么解决?

mqxuamgl

mqxuamgl1#

只需安装Microsoft.Extensions.Configuration.Binder,该方法即可使用。
原因是GetValue<T>extension method,并不直接存在于IConfiguration接口中。

vyswwuz2

vyswwuz22#

最上面的答案在这里是最合适的。然而另一种选择是通过传入键来获得字符串形式的值。

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

相关问题