从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_ENV
, Hosting:Environment
,以及调用特定的hosting.json
配置。
注意:为了便于阅读,命令分为几行,在实际粘贴JSON文件之前再次连接。
- 在ASP.Net Core中validationIFormFile的图像类型
- Asp.Net Core 2.0 Kestrel不提供静态内容
- ASP.NET Core Identity在应用程序启动时添加自定义用户角色
- 将ArrayPool对象提供给JsonOutputFormatter构造函数
- 如何使用UserManager在IdentityUser上加载导航属性
- 从ASP.NET Core 1.1 MVC迁移到2.0后,自定义cookie身份validation无法正常工作
- 刷新ASP.Net核心标识中的用户cookie票证
- 是否可以从自定义TagHelper调用ViewComponent?
- 使用在startup.cs中分配的委托处理OnTokenValidated的问题