无法从 IConfigurationRoot .NET Core 控制台应用获取节数据



我制作.NET Core控制台应用程序,需要使用环境变量,就像在 ASP.NET Core中一样

所以我正在使用这种方法

https://github.com/mattosaurus/BitscryExamples/tree/master/ConsoleAppSettings

这是我的应用设置.json文件

{
"ServerUrls": {
"MonitoredDeviceWs": "******",
"MonitoredDeviceBaseFindUri": "*******",
"MonitoredDeviceBaseUploadUri": "*********"
},
"Auth": {
"User": "",
"Password": ""
},
"AppNames": [
"Skype",
"Teams",
"Zoom",
"Cisco"
],
"Other": {
"Space": 0,
"ExecutionFrequency": 30,
"TimerGetInterval": 240
}
}

例如,我需要获得MonitoredDeviceWs我试着这样做

private readonly IConfigurationRoot _config;


public SymphonyCloudCommunicator(IConfigurationRoot config)
{
_config = config;
}
var MonitoredDeviceWs = _config.GetSection("ServerUrls")

但是我在GetSection之后看不到get方法,所以我无法获得这样的值_configuration.GetSection("ServerUrls").Get<POCO>();

我错在哪里?

听起来您没有安装正确的 NuGet 包?

检查依赖项中的Microsoft.Extensions.Configuration

试试这个:


private readonly IConfiguration _config;


public SymphonyCloudCommunicator(IConfiguration config)
{
_config = config;
}

T Get<T>(this IConfiguration configuration)方法在Microsoft.Extensions.Configuration.ConfigurationBinder类中定义

您是否安装了 microsoft.extensions.configuration.binder 软件包?

最新更新