我制作.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 软件包?