MacでVisual Studioコードを使用してASP.NET 5 Web APIアプリを開発しています。 Properties/launchSettings.json
環境変数を使用して、ASPNET_ENV
ファイルを手動で変更し、すべてのプロファイルの環境をStaging
に設定しました。
ただし、Macターミナルでdnx web
を実行してアプリを起動しても、Production
環境が表示されます:
MacでVisual Studio Codeを使用している場合、launchSettings.json
を使用して環境変数(つまり、環境タイプ)を指定できますか?それとも完全なVisual Studioに固有ですか?
ASP.NET 5 docs suggestlaunchSettings.json
を使用して環境変数を注入できます。ただし、 this SOディスカッション は、コマンドを介して渡すことを提案します。
LaunchSettings.jsonは厳密にはVSの概念です。他の場合では、環境変数を以下のコマンドとして構成する必要があります。
標準のコマンドライン実行の場合、次のように使用します
set ASPNET_ENV=Development
dnx web
Powershellの場合、次を使用します
$env:ASPNET_ENV='Development'
dnx web
短いバージョン:dnx web ASPNET_ENV=Development
Macでは、ターミナルを使用して、次のように入力します。
export ASPNETCORE_ENVIRONMENT=Development && dotnet run
要件:
@Chrysalisの回答に加えて、コマンドラインで必要な変数を渡すことにより、現在の環境での「混乱」を回避することもできます。
project.json
ファイル内で、開発環境に固有のweb-dev
コマンドがあるとします。
"commands": {
"web-dev": "Microsoft.AspNet.Server.Kestrel
--ASPNET_ENV Development --Hosting:Environment Development
--config hosting.Development.json",
},
ここでは、ASPNET_ENV
、Hosting:Environment
の両方の設定方法と、特定のhosting.json
構成の呼び出しを確認できます。
注:コマンドは読みやすくするために数行に分割されています。JSONファイルに実際に貼り付ける前にもう一度結合してください。