開發過程中經常要發布一個版本到測試服上給測試人員測試,可能需要直接輸出錯誤信息,需要設置環境變量為Development,如果是IIS可以設置web.config環境變量或者IIS環境變量,見下面這篇文章
https://blog.csdn.net/lilinoscar/article/details/108362211
如果是linux系統,可以設置臨時環境變量,或者永久環境變量
https://www.cnblogs.com/lcxiao/p/11361052.html
但是改上述配置都比較繁瑣,永久環境變量導致所有應用都必須用同一個環境變量,臨時變量的缺點就是每次發布都得重新設置,而且只對當前窗口有效,不能關閉。
可以通過命令行直接傳一個參數到系統入口設置環境變量,.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"]