.NET 7无Startup.cs时发布ASP.NET Core Web API到Azure遇Swagger错误求助
ASP.NET Core 7 Web API发布Azure时Swagger相关错误的解决方案
检查发布配置文件的Swagger设置
Azure发布工具的旧逻辑可能还在依赖Startup.cs的配置,你可以手动修改发布配置文件(PublishProfile.pubxml),添加Swagger生成的MSBuild属性,强制生成swagger文件:<PropertyGroup> <GenerateSwaggerDocumentation>True</GenerateSwaggerDocumentation> <SwaggerOutputPath>$(OutputPath)swagger.json</SwaggerOutputPath> </PropertyGroup>确认Program.cs里的Swagger配置完整
光加builder.Services.AddSwaggerGen()不够,得把Swagger的中间件也配上,完整配置参考:// 注册Swagger服务 builder.Services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "你的API名称", Version = "v1" }); }); // 构建app后启用Swagger中间件(按需调整环境,生产环境也可以临时开启用于发布验证) if (app.Environment.IsDevelopment() || app.Environment.IsProduction()) { app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "你的API V1"); }); }清理缓存后重新发布
先右键解决方案选择“清理”,再重新生成整个解决方案,避免旧编译缓存导致配置不生效,之后再尝试发布。查看诊断日志找细节
错误提示里的C:\Users\cvale\AppData\Local\Temp\tmp4709.tmp日志文件一定要打开看,里面会有更具体的报错信息,比如Swagger生成时的异常、文件访问权限问题,能帮你快速定位根源。检查Azure App Service的部署配置
登录Azure门户,找到对应的App Service,进入“部署中心”,确认当前的部署方式(本地发布、GitHub Actions等)配置有没有异常,必要时重置部署配置后重新发布。
内容的提问来源于stack exchange,提问作者Carlos Valeriano
相关产品推荐
相关产品推荐

