.NET 6.0应用部署至Azure App Service(Linux)无法找到连接字符串求助
解决.NET 6部署Azure Linux App Service连接字符串找不到的问题
以下是几个实用的排查点:
- 检查Azure连接字符串的类型设置:在Azure门户的应用服务→配置→连接字符串中,确认
DefaultConnection的类型不是Custom(比如SQL Server就选对应类型)。Linux环境下,不同类型的连接字符串会被映射为ConnectionStrings__DefaultConnection(双下划线)格式的环境变量,选对类型才能让.NET正确识别。 - 验证环境变量是否同步:进入应用服务的高级工具→Kudu→环境页面,查看是否存在
ConnectionStrings__DefaultConnection变量。如果没有,说明Azure配置未生效,重启App Service即可。 - 排除本地配置干扰:如果部署包包含
appsettings.json或appsettings.Production.json,里面若有DefaultConnection项(哪怕值为空),会优先覆盖Azure配置。建议删除本地配置里的该条目,或者设为null。 - 确认配置加载逻辑:检查Program.cs中是否移除了默认的环境变量加载。.NET6的
WebApplicationBuilder默认会调用AddEnvironmentVariables(),若手动修改配置源,务必保留这一步,否则Azure的环境变量(含连接字符串)无法被加载到Configuration中。 - 查看实时日志定位:在Azure门户的应用服务→日志流里,查看启动阶段的详细日志,能找到配置加载相关的具体错误信息。
内容的提问来源于stack exchange,提问作者elsurudo
相关产品推荐
相关产品推荐

