159 votes

IConfiguration ne contient pas de définition pour GetValue

Après le déplacement d' une classe à travers des projets, l' un des IConfiguration méthodes, 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;
        }
    }
}

Comment puis-je résoudre ce problème?

337voto

Machado Points 822

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

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

26voto

Jordan Points 340

La réponse la plus appropriée est ici la plus appropriée. Cependant, une autre option consiste à obtenir la valeur sous forme de chaîne en passant la clé.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X