You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

持续发布成功但网站未更新:ASP.NET部署Azure问题求助

排查ASP.NET Azure Web App CI/CD发布成功但网站无更新的问题

这种情况我之前也碰到过好几次,别着急,咱们一步步来定位问题:

  • 确认部署槽位是否正确
    很多时候会不小心把代码部署到了测试槽位而非生产槽位,Azure Web App默认支持多槽部署。你可以登录Azure门户,进入目标Web App,查看「部署槽位」选项,确认发布任务是不是指向了生产槽,或者有没有忘记将测试槽交换到生产环境。

  • 验证部署包的实际内容
    平台显示发布成功不代表包里的代码是最新的。你可以:

    1. 进入Azure Web App的「高级工具」(Kudu),打开「调试控制台」→「CMD」,导航到site\wwwroot目录,查看文件的修改时间是否和你最新构建的时间匹配;
    2. 在Azure DevOps(原VSTS)的发布记录里,下载对应的部署包,解压后检查代码是不是你修改后的版本。如果包内容不对,那问题出在构建环节,得检查构建任务是不是拉取了正确的分支、有没有缓存旧的构建产物。
  • 清除网站缓存与重启服务
    ASP.NET应用有时候会缓存旧的页面或编译后的程序集,尤其是启用了输出缓存或静态文件缓存的情况。你可以:

    • 在Azure门户的Web App「概述」页点击「重启」按钮,重启服务;
    • 或者在Kudu控制台执行dotnet clean(针对.NET Core/.NET 5+项目),手动删除binobj目录后再重启;
    • 同时检查web.config里的staticContent节点是否配置了过长的clientCache缓存时间,导致浏览器迟迟不加载新内容。
  • 检查发布任务的细节配置
    回到Azure DevOps的发布任务里确认:

    • 如果用的是「Azure Web App部署」任务,检查「部署类型」是否选择了正确的方式(比如Web Deploy、Zip Deploy);
    • 有没有勾选「删除目标上的额外文件」?如果没勾选,旧文件可能残留在服务器上,导致部分资源没被覆盖;
    • 查看发布任务的完整日志,搜索有没有警告或错误(比如文件被锁定无法覆盖),这类细节往往能找到问题根源。
  • 核对本地与云端的配置差异
    有时候本地的appsettings.jsonweb.config配置和Azure上的不一致,会导致功能看起来没生效。比如本地开启了开发模式,而Azure上是生产模式,可能会有不同的行为。你可以在Azure门户的Web App「配置」→「应用程序设置」里,检查ASPNETCORE_ENVIRONMENT等关键配置项是否正确。

  • 排除浏览器缓存干扰
    有时候不是服务器的问题,而是浏览器缓存了旧页面。你可以尝试用无痕模式访问网站,或者按下Ctrl+F5强制刷新页面。如果无痕模式能看到最新内容,那就是浏览器缓存的问题,需要给静态资源添加版本号或者调整缓存策略。


内容的提问来源于stack exchange,提问作者NJUHOBBY

火山引擎 最新活动