公開ファイルで aspnetcore_environment を設定するにはどうすればいいですか? 質問する

公開ファイルで aspnetcore_environment を設定するにはどうすればいいですか? 質問する

ASP.NET Coreアプリケーション(Web API)があります。ドキュメントには次のように説明されています複数の環境で作業するaspnetcore_environmentしかし、 Webサイトを公開する際の設定方法については説明されていませんでした。

3つの環境があるとしますDevelopmentStagingProduction

  1. 従来の ASP.NET Web アプリケーションでは、3 つのビルド構成を作成していました。DevelopmentStagingおよびProduction(下の図に示すように)。次に、各構成に 1 つずつ、合計 3 つのファイルを作成します。アプリケーションにも.pubxml同じアプローチを使用する必要がありますか?ASP.NET Core

  2. ファイルaspnetcore_environmentにどのように設定しますか?.pubxml

  3. 質問 1 で指定されたアプローチが廃止されている場合、代替アプローチは何ですか? (CI には Jenkins を使用します)

ここに画像の説明を入力してください

アップデート1

設定する必要があることは理解してASPNETCORE_ENVIRONMENTいますが、どこで設定すればよいのかわかりません。開発中は のプロファイルで設定できますがlaunchSettings.json、ステージングまたは本番環境に公開するときにどのように設定すればよいのかという疑問があります。ターゲット サーバー自体で環境変数を設定するのでしょうか?

ここに画像の説明を入力してください

アップデート2
記事を見つけましたここ環境変数を設定するさまざまな方法を説明しています。これは私の質問に部分的に答えてくれました。しかし、アプリケーションを公開すると、公開プロセスは環境変数を尊重しません。公開中にappsettings.{env.EnvironmentName}.json
私は別の役職その質問に対して

ベストアンサー1

次のようにして、必要な ASPNETCORE_ENVIRONMENT を引数として dotnet publish コマンドに渡すことができます。

/p:EnvironmentName=Staging

例えばdotnet publish /p:Configuration=Release /p:EnvironmentName=Staging

これにより、プロジェクトに指定された正しい環境を含む web.config が生成されます。

    <environmentVariables>
      <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Staging" />
    </environmentVariables>

おすすめ記事