我想创建一个强类型的配置节,但挣扎。示例显示我可以拥有一个POCO,并且只需在我的json中有一个条目,这应该会自动解决。强类型配置asp核心
这就是我在ConfigureServices()
。请注意,该configuration
是IConfigurationRoot
:
public void ConfigureServices(IServiceCollection services)
{
services
.AddOptions()
.AddMvcCore()
.AddJsonFormatters();
services.Configure<MySettings>(this.configuration.GetSection("MySettings"));
}
这是我的POCO
public class MySettings
{
public string Foo { get; set; }
}
我得到一个编译错误Error:(41, 44) : Argument 2: cannot convert from 'Microsoft.Extensions.Configuration.IConfigurationSection' to 'System.Action<MySettings>'
。
的JSON配置:
{
"MySettings": {
"Foo": "hello world"
}
}
很显然,我在做一些愚蠢的,但不确定这可能是什么。网络上的所有消息都表明这个“应该”工作。
如果需要更多信息,我可以提供。
您是否对您的project.json中的Microsoft.Extensions.Options.ConfigurationExtensions存在依赖关系?你需要的是,然后注入的是IOptions然后让MySettings访问IOptions的.Value属性 –
是的,我注意到了这一点,但是this.configuration.GetSection(“”)。绑定(你的对象实例) ;可能是失踪的难题 –
我在做同样的事情没有。绑定它适用于我 –