web-dev-qa-db-ja.com

MacのコマンドラインからASP.NET 5アプリを実行するときに、launchSettings.jsonが使用されますか?

MacでVisual Studioコードを使用してASP.NET 5 Web APIアプリを開発しています。 Properties/launchSettings.json環境変数を使用して、ASPNET_ENVファイルを手動で変更し、すべてのプロファイルの環境をStagingに設定しました。 enter image description here

ただし、Macターミナルでdnx webを実行してアプリを起動しても、Production環境が表示されます: enter image description here

MacでVisual Studio Codeを使用している場合、launchSettings.jsonを使用して環境変数(つまり、環境タイプ)を指定できますか?それとも完全なVisual Studioに固有ですか?

ASP.NET 5 docs suggestlaunchSettings.jsonを使用して環境変数を注入できます。ただし、 this SOディスカッション は、コマンドを介して渡すことを提案します。

20

LaunchSettings.jsonは厳密にはVSの概念です。他の場合では、環境変数を以下のコマンドとして構成する必要があります。

標準のコマンドライン実行の場合、次のように使用します

set ASPNET_ENV=Development

dnx web

Powershellの場合、次を使用します

$env:ASPNET_ENV='Development'

dnx web

短いバージョン:dnx web ASPNET_ENV=Development

12
Chrysalis

Macでは、ターミナルを使用して、次のように入力します。

export ASPNETCORE_ENVIRONMENT=Development && dotnet run

要件:

5
Steve Brush

@Chrysalisの回答に加えて、コマンドラインで必要な変数を渡すことにより、現在の環境での「混乱」を回避することもできます。

project.jsonファイル内で、開発環境に固有のweb-devコマンドがあるとします。

"commands": {
  "web-dev": "Microsoft.AspNet.Server.Kestrel 
    --ASPNET_ENV Development --Hosting:Environment Development 
    --config hosting.Development.json",
},

ここでは、ASPNET_ENVHosting:Environmentの両方の設定方法と、特定のhosting.json構成の呼び出しを確認できます。
注:コマンドは読みやすくするために数行に分割されています。JSONファイルに実際に貼り付ける前にもう一度結合してください。

0
superjos