我有一个控制台应用程序,希望通过将配置从appsettings.json文件映射到自定义类来配置我的选项。到目前为止我安装的软件包
- Microsoft.Extensions.Configuration v5.0.0
- Microsoft.Extensions.DependencyInjection v5.0.1
- Microsoft.Extensions.Options v5.0.0
给定这个示例类
public class MyOptions
{
public string Foo { get; set; }
}
这个配置呢
{
"myOptions": {
"foo": "bar"
}
}
我试着用这个代码来映射它
public void ConfigureOptions(IServiceCollection serviceCollection)
{
IServiceProvider serviceProvider = serviceCollection.BuildServiceProvider();
IConfiguration configuration = serviceProvider.GetService<IConfiguration>();
IConfigurationSection myConfigurationSection = configuration.GetSection("MyOptions");
serviceCollection.Configure<MyOptions>(myConfigurationSection);
}
不幸的是,这是无效语法。不可能再将节传递给Configure
方法。
参数类型'Microsoft.Extensions.Configuration.IConfigurationSection'不能分配给参数类型'系统动作<MyApp.MyOptions>'
这让我很困惑,因为文档中也有类似的例子
有人知道我是否遗漏了什么吗?
您缺少Microsoft.Extensions.Options.ConfigurationExtensions
包。