.NetCore 设置环境变量

开发过程中经常要发布一个版本到测试服上给测试人员测试,可能需要直接输出错误信息,需要设置环境变量为Development,如果是IIS可以设置web.config环境变量或者IIS环境变量,见下面操作步骤

IIS统一设置ASPNETCORE_ENVIRONMENT 的变量,不需要每个站点都在webconfig里进行配置,这样每次发布版本可能会被覆盖,比较麻烦,所以统一更是最好的选择,那具体步骤呢?

步骤如下:

1、打开IIS管理器,选择跟节点,找到“管理”=》“配置编辑器”,如下图:

netcore运行参数(.NetCore设置环境变量)(1)

2、选择节点“system.webServer/aspNetCore”,再找到“environmentVariable”项,点击右侧“编辑项”,如下图:

netcore运行参数(.NetCore设置环境变量)(2)

3、点击添加,输入:ASPNETCORE_ENVIRONMENT 和 Production 值钱即可,如下图:

netcore运行参数(.NetCore设置环境变量)(3)

但是该上述配置都比较繁琐,永久环境变量导致所有应用都必须用同一个环境变量,临时变量的缺点就是每次发布都得重新设置,而且只对当前窗口有效,不能关闭。

可以通过命令行直接传一个参数到系统入口设置环境变量,.NetCore3.1之前可以在 Main(string[] args)接受参数判断

.Net6可以直接这么写

netcore运行参数(.NetCore设置环境变量)(4)

1 WebApplicationBuilder builder; 2 if (args.Contains("Development")) 3 { 4 builder = WebApplication.CreateBuilder(new WebApplicationOptions 5 { 6 Args = args, 7 EnvironmentName = Environments.Development 8 }); 9 } 10 else 11 { 12 builder = WebApplication.CreateBuilder(args); //默认 13 }

netcore运行参数(.NetCore设置环境变量)(5)

通过命令行启动:

dotnet aspnetcore.dll --urls http://localhost:7001 Development

配置supervisor:

command=dotnet aspnetcore.dll --urls http://localhost:7001 Development

,