環境固有のapp.settingsファイルを読み込めない.NET Core 2.0 Web APIがあります。私が言う限りでは、私はすべての関連手順に従ってきた。.NET Core Web APIが環境を正しく読み取れない
これは私のStartup.cs
コンストラクタです:私は、その後のappsettings.json
ファイル構造を有する
public Startup(IHostingEnvironment env)
{
var config = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables();
}
:
appsettings.json
-appsettings.debug.json
-appsettings.release.json
-appsettings.production.json
そして、私のAPIがに展開されているサーバー上に、私は、システム環境変数の鍵を持っています/値の対
Variable = ASPNETCORE_ENVIRONMENT Value = Release
しかし、私はAPIを呼び出すときASPNETCORE_ENVIRONMENT
の環境変数が見つからない場合、(私が理解するところから)appsettings.production.json
の値が使用されます。
このデフォルトの動作を引き起こすために私の設定が失われている可能性があることについての考え方はありますか?
ケース関連の問題ですか?何かのように 'string settingsFilePath = $" appsettings {env.EnvironmentName.ToLower()}。json "; ' –
@ChristopherJ。ドキュメントはそれが大文字と小文字を区別しないと言って、私のテストは同じように示しています。 – bcwiniger
@bcwinigerファイル名をチェックするとき、 'AddJsonFile'メソッドは大文字小文字を区別しますので、ファイルの名前を' appsettings.Release.json'に変更するか、 '.ToLower()'アプローチを使用してください。 – Set