在launchsettings.json中设置ASP.NET Core应用名称无效的问题
ASP.NET Core中launchsettings.json设置应用名称不生效的解决办法
问题原因
ASP.NET Core框架不会自动读取ASPNETCORE_APPLICATIONNAME环境变量来设置builder.Environment.ApplicationName。ApplicationName默认取自项目的程序集名称,而ASPNETCORE_ENVIRONMENT是框架内置支持的环境变量,所以能直接生效。
解决方法
方法1:显式赋值
直接在创建WebApplicationBuilder后手动指定应用名称:
var builder = WebApplication.CreateBuilder(args); builder.Environment.ApplicationName = "new-app";
方法2:读取自定义环境变量赋值
如果想保留通过环境变量配置的方式,手动读取ASPNETCORE_APPLICATIONNAME并赋值:
var builder = WebApplication.CreateBuilder(args); var customAppName = Environment.GetEnvironmentVariable("ASPNETCORE_APPLICATIONNAME"); if (!string.IsNullOrWhiteSpace(customAppName)) { builder.Environment.ApplicationName = customAppName; }
方法3:通过配置文件设置
在appsettings.json(或对应环境的配置文件,如appsettings.Staging.json)中添加配置项:
{ "ApplicationName": "new-app" }
然后在代码中读取配置并赋值:
var builder = WebApplication.CreateBuilder(args); builder.Environment.ApplicationName = builder.Configuration["ApplicationName"] ?? builder.Environment.ApplicationName;
内容的提问来源于stack exchange,提问作者Abdul Rahman A
相关产品推荐
相关产品推荐

