我有一个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。
如何修改此代码以使用正确的环境设置?
答案 0 :(得分:3)
答案是我需要的只是2个不同appsettings文件中的环境变量。我的问题是在我的一个配置设置中缺少右括号,这意味着appsettings.Development.json不会替换appsettings.json变量,因为它们不匹配。糟糕.....