開発環境とリリースでappsettings.json分けたいときがあります。
いちいち書き換えるのも大変なので下記の手順でビルド時に環境変数で変えるようにします
※コンソールアプリケーションで設定してますが、Webアプリでもちょと変えればできます
Program.cs内
Main()..
string envName = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile(Path.GetFullPath(Path.Combine("appsettings.json")), optional: true, reloadOnChange: true)
.AddJsonFile(Path.GetFullPath(Path.Combine($"appsettings.{envName}.json")), optional: true, reloadOnChange: true)
;
Configuration = builder.Build();
ビルド時
ASPNETCORE_ENVIRONMENT=Development dotnet run
ASPNETCORE_ENVIRONMENTである必要はないです。