Я разработал веб-API и опубликовал его на azurewebsites.net.
Я добавил следующие дополнительные настройки приложения: -
- appsettings.Dev.json
- appsettings.Test.json
- appsettings.Prod.json
Чтобы иметь возможность извлекать значения из этих преобразований appsettings, я внес следующие изменения в код:
Пробовал решение, упомянутое здесь:
https://stackoverflow.com/a/44953524/10485667
Даже пытался использовать только разработку / отладку, этапирование и производство / выпуск вместо Dev, Test, Prodcetive. Но не повезло. Он будет публиковать только значения из основного appsettings.json.
Startup.cs
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
#if DEBUG
.AddJsonFile($"appsettings.Dev.json", optional: true)
#endif
.AddEnvironmentVariables();
Configuration = builder.Build();
appSettings = Configuration.Get<AppSettingsModel>().AppSettings;
}
даже пробовал этот код:
AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
Попробовал изменить Program.cs:
public class Program
{
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.AddJsonFile($"appsettings.Development.json", optional: true)
.Build();
ILogger logger = null;
var host = CreateWebHostBuilder(args)
.UseConfiguration(config)
.Build();
logger = host.Services.GetService<ILogger>();
host.Run();
}
}
Перепробовал все возможные решения, представленные в интернете, но не повезло. После публикации в Azure он принимает значения только из appsettings.json
Я думаю, что мог бы сделать некоторую концептуальную ошибку, пытаясь найти эти решения. Любая помощь приветствуется.
Заранее спасибо