Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .net core 2控制台应用程序绑定数据模型_C#_.net Core 2.0 - Fatal编程技术网

C# .net core 2控制台应用程序绑定数据模型

C# .net core 2控制台应用程序绑定数据模型,c#,.net-core-2.0,C#,.net Core 2.0,我有以下配置模型: public class AppConfiguration { public string StateFilesPath { get; set; } public string ConnectionString { get; set; } public Dictionary<string,ActionsSettings> ActionsSettings { get; set; } } public class ActionsSetting

我有以下配置模型:

public class AppConfiguration
{
    public string StateFilesPath { get; set; }
    public string ConnectionString { get; set; }
    public Dictionary<string,ActionsSettings> ActionsSettings { get; set; }
}

public class ActionsSettings
{
    public string ApiUrl { get; set; }
    public string TableName { get; set; }
}
这是我的
主要功能:

 static void Main(string[] args)
        {

            var builder = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

            IConfigurationRoot configuration = builder.Build();

            configuration = builder.Build(); 
是否可以自动生成
AppConfiguration
? 同样,这是.NETCore2控制台应用程序


谢谢

您仍然可以对Core 2使用
Bind()
方法:

IConfigurationRoot configuration = builder.Build();
var appConfig = new AppConfiguration();
configuration.GetSection("App").Bind(appConfig);
但对于Core 2,您还可以使用更方便的
Get()
方法:

IConfigurationRoot configuration = builder.Build();
var appConfig = configuration.GetSection("App").Get<AppConfiguration>();

请看一下.NET核心文档中的这一页:我认为它符合您的要求form@JamieTaylor如果您谈论的是
Bind
函数,我认为它只与.NETCore1相关。不是2。谢谢这(使用
Get
)就是我要建议的。这是(某种程度上)我在这里做的:(它看起来非常类似于OP想要做的事情。这些是扩展方法。你需要添加名称空间。请参阅我更新的答案。
IConfigurationRoot configuration = builder.Build();
var appConfig = configuration.GetSection("App").Get<AppConfiguration>();
using Microsoft.Extensions.Configuration;