.NetCore 设置环境变量


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

https://blog.csdn.net/lilinoscar/article/details/108362211

如果是linux系统,可以设置临时环境变量,或者永久环境变量

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

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

.Net6可以直接这么写

 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 }

通过命令行启动:

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

配置supervisor:

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

docker 中:

ENTRYPOINT ["dotnet", "aspnetcore.dll", "--urls", "http://localhost:7001","Development"]