Reputation: 10404
After moving a class through projects, one of the IConfiguration
methods, GetValue<T>
, stopped working. The usage is like this:
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;
}
}
}
How can I fix it?
Upvotes: 231
Views: 102904
Reputation: 2832
The top answer is the most appropriate here. However another option is to get the value as a string by passing in the key.
public string BaseUri => _configuration["ApiSettings:ApiName:Uri"] + "/";
Upvotes: 50
Reputation: 10404
Just install Microsoft.Extensions.Configuration.Binder
and the method will be available.
The reason is that GetValue<T>
is an extension method and does not exist directly in the IConfiguration
interface.
Upvotes: 478