从Mac上的命令行运行ASP.NET 5应用程序时是使用launchSettings.json吗?

我正在使用Mac上的Visual Studio代码开发ASP.NET 5 Web API应用程序。 我手动修改了我的Properties/launchSettings.json文件,使用ASPNET_ENV环境变量将环境设置为Staging for all profiles: 在此处输入图像描述

但是,当我在Mac终端上运行dnx web来启动应用程序时,我仍然得到了Production环境: 在此处输入图像描述

如果我在Mac上使用Visual Studio Code,是否可以使用launchSettings.json指定环境变量(以及环境类型)? 或者它是否特定于完整的Visual Studio?

ASP.NET 5文档建议 launchSettings.json可用于注入环境变量。 然而, 这个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 

要求:

  • .NET Core(rc2)
  • .NET命令行界面

添加到@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文件之前再次连接。