Después de mover una clase a través de proyectos, uno de los métodos de IConfiguration , GetValue<T> , dejó de funcionar. El uso es así:
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; } } }¿Cómo puedo arreglarlo?
Simplemente instale Microsoft.Extensions.Configuration.Binder y el método estará disponible.
El motivo es que GetValue<T> es un método de extensión y no existe directamente en la interfaz IConfiguration .
La respuesta principal es la más apropiada aquí. Sin embargo, otra opción es obtener el valor como una cadena pasando la clave.
public string BaseUri => _configuration["ApiSettings:ApiName:Uri"] + "/";