web-dev-qa-db-fra.com

IConfiguration ne contient pas de définition pour GetValue

Après avoir déplacé une classe dans des projets, l'une des méthodes IConfiguration, GetValue<T> cessé de travailler. L'utilisation est comme ceci:

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;
        }
    }
}
22
Machado

Installez simplement Microsoft.Extensions.Configuration.Binder et la méthode sera disponible.

La raison en est que GetValue<T> est un méthode d'extension et n'existe pas directement dans l'interface IConfiguration.

41
Machado