.NET IConfiguration为属性返回null

时间:2018-04-11 19:44:08

标签: c# asp.net visual-studio-code

我的断点不同步所以我不得不更改launch.json的program属性以指向.NET2.0.0创建的新文件夹。

现在,当我的应用程序尝试从app.Development.json文件中获取属性时,它最终为null:

`

    .ConfigureAppConfiguration((hostContext, config) =>
                    {
                        // delete all default configuration providers
                        hostCtx = hostContext;
                        var hostConf = hostContext.Configuration;
                        var env = hostContext.HostingEnvironment;
                        config.Sources.Clear();
                        config.SetBasePath(env.ContentRootPath);
                        config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                              .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
                              .AddEnvironmentVariables();
// these both are null                        
                        certFileName = hostConf["AppConfiguration:CertFileName"];
                        certPassword = hostConf["AppConfiguration:CertPassword"];
                    })

`

1 个答案:

答案 0 :(得分:0)

看起来如果我这样做: var c = config.Build(); 并使用c代替hostConf

我不知道为什么,因为我认为hostContext已经包含了配置。如果有人知道为什么或更干净的方式,我全都听见了。