Ошибка CS1503 - невозможно преобразовать из Microsoft.Extensions.Configuration.IConfigurationSection в System.Action <> - PullRequest
0 голосов
/ 21 апреля 2020

Я получаю сообщение об ошибке:

Ошибка CS1503 Аргумент 2: невозможно преобразовать из 'Microsoft.Extensions.Configuration.IConfigurationSection' в 'System.Action <>

Когда я использую Configure с Bind (), он работает.

var bandConfig = new BandSettings();
Configuration.GetSection("BandSettings").Bind(bandConfig );

Но с приведенным ниже кодом я получаю вышеуказанную ошибку.

Я перепробовал множество решений, предложенных в блогах и других форумах, например - Получение значения из настроек приложений. json in. net core

но все та же ошибка. Я что-то упускаю ??

У меня есть вещи ниже: appsettings. json

"BandSettings":{ 
"UserID": "aTestUserID", 
"Password" : "aTestPassword" 
}

BandSettings.cs

public class BandWidthSettings
{
    public string UserID { get; set; }
    public string ApiToken { get; set; }
}

TestHelper.cs

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

public static IConfiguration GetTestConfiguration()
         => new ConfigurationBuilder()
                       .AddJsonFile("appsettings.json")
                       .Build();

public IConfiguration Configuration { get; }

public TestHelper(IConfiguration configuration)
{
    Configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{

    var config = new BandSettings();
    var bandSettingsSection = Configuration.GetSection("BandSettings");
    services.Configure<BandSettings>(bandSettingsSection);  //Error is getting on this line - bandSettingsSection
}

1 Ответ

0 голосов
/ 23 апреля 2020
 public IConfiguration Configuration { get; }
        public TestHelper(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public void ConfigureServices(IServiceCollection services)
        {
            //Configure section binding  
            services.Configure<BandSettings>(Configuration.GetSection(BandSettings.SECTION));
        }
...