如何在代码中使用appsettings.Development.json变量

时间:2018-01-02 19:04:15

标签: asp.net-core

我有一个appsettings.json和appsettings.Development.json。我需要根据环境分配SmtpServer名称。

appsettings.json中的配置文件是:

{ 
  "EmailConfiguration": {
   "SmtpServer": "mail.MYDOMAIN.com"
  }
}

在appsettings.Development.json中:

{ 
  "EmailConfiguration": {
    "SmtpServer": "mail.MYLOCAL.com"
  }
}

当我在Startup ConfigureServices()中分配配置时,如下所示:

var emailconfig = Configuration.GetSection("EmailConfiguration").Get<EmailConfiguration>();
services.AddSingleton<IEmailConfiguration>(emailconfig);

它总是使用appsettings.json('mail.MYDOMAIN.com')而不是appsettings.Development.json。

如何修改此代码以使用正确的环境设置?

1 个答案:

答案 0 :(得分:3)

答案是我需要的只是2个不同appsettings文件中的环境变量。我的问题是在我的一个配置设置中缺少右括号,这意味着appsettings.Development.json不会替换appsettings.json变量,因为它们不匹配。糟糕.....