【发布时间】:2021-08-22 12:02:05
【问题描述】:
我有一个正在构建配置的控制台应用程序
IConfiguration config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", true, true)
.Build();
var services = new ServiceCollection();
services.AddOptions();
services.Configure<ResourceConfiguration>(config.GetSection("ResourceConfiguration"));
这不起作用
Error CS1503: Argument 2: cannot convert from 'Microsoft.Extensions.Configuration.IConfigurationSection' to 'System.Action<ResourceConfiguration>' (29, 55)
我的 using(以及我自己的命名空间)中有以下内容
使用 Microsoft.Extensions.Configuration; 使用 Microsoft.Extensions.DependencyInjection; 使用系统; 使用 System.IO;
IConfiguration config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", true, true)
.Build();
返回可能是问题的 IConfigurationRoot?
我做错了什么?
这是 .NET Core 3.1
保罗
【问题讨论】:
-
您的文件顶部有哪些
using语句?您的项目中有哪些 nuget 包? -
错误提示
Configure<ResourceConfiguration>需要一个方法,而不是一个部分。也许您尝试使用错误的扩展方法? -
正如@PanagiotisKanavos 所说,您需要“投射”,试试这个:
config.GetSection("ResourceConfiguration").Get<ResourceConfiguration>() -
@Valter 那不是我说的。您不能将
IConfigurationSection转换为Action。问题的代码很好,和the documentation examples和我用过的代码一模一样 -
我错过了阅读错误...
标签: c# dependency-injection config configuration-files