You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor Web App发布至Azure时出现超时及本地生成Zip文件问题

问题描述

使用.NET 8在Visual Studio开发大型复杂Blazor Web App,上午11点还能正常发布到Azure,预览验证、演示均无问题。修改一处事件监听器的小改动后,发布时弹出两个权限确认窗口,等待约10分钟后超时失败,但构建和测试日志均显示通过。同时项目主目录自动生成带随机UUID的Zip文件(包含wwwroot、assets、framework等构建内容),发布流程不再向Web推送,仅在本地生成文件。

错误输出

Publish has encountered an error.
The operation has timed out.

A diagnostic log has been written to the following location:
"C:\Users\tbrockington\AppData\Local\Temp\tmpB1BC.tmp"

诊断日志关键栈

19/01/2024 12:10:20
System.TimeoutException: The operation has timed out.
at Microsoft.WebTools.Shared.VS.Threading.TaskExtensions.<WaitForCompleteOrTimeout>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.WebTools.Shared.VS.Helpers.ProcessWrapper.<WaitForExitAsync>d__38.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.WebTools.Azure.Publish.SWA.StaticWebAppCli.<RunAsync>d__52.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.WebTools.Azure.Publish.SWA.StaticWebAppPublisher.<RunStaticWebAppCliAsync>d__14.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.WebTools.Azure.Publish.SWA.StaticWebAppPublisher.<AuthenticateAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.WebTools.Azure.Publish.NewFx.Profiles.PublishSteps.SWALoginPublishStep.<RunAsync>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.Publish.Framework.Profiles.ProjectProfilesManager.<RunPublishStepsAsync>d__38.MoveNext()
解决方案

1. 重置Azure发布配置

  • 删除当前发布配置文件:右键项目→发布→管理配置文件→删除,重新创建发布配置,选择Azure Static Web App并完成授权流程。
  • 检查发布配置的高级设置,确认未误勾选“仅本地构建生成Zip”类选项(部分VS版本在权限异常后可能自动切换模式)。

2. 清理VS缓存与进程

  • 关闭Visual Studio,删除以下缓存目录:
    • C:\Users\[你的用户名]\AppData\Local\Microsoft\VisualStudio\[版本号]\ComponentModelCache
    • C:\Users\[你的用户名]\AppData\Local\Temp(删除tmp开头的临时文件)
  • 打开任务管理器,结束所有dotnet.exe、VisualStudio.exe相关进程,重启VS。

3. 修复Azure CLI授权状态

  • 打开命令提示符,执行az logout完全退出Azure登录,再执行az login重新授权,确保登录账号与发布所用账号一致。
  • 检查VS中的Azure账户:工具→选项→Azure服务→账户,确认当前登录账户有效、无权限异常。

4. 回滚代码排查变更影响

  • 回滚事件监听器的修改,尝试重新发布,确认是否为代码变更触发发布工具异常(部分Blazor事件绑定的隐性问题可能干扰发布流程)。
  • 若回滚后正常,逐步重新引入修改,每次修改后尝试发布,定位具体触发问题的代码片段。

5. 手动执行发布命令绕开VS工具

  • 在项目目录打开命令提示符,执行手动发布命令:
    dotnet publish -c Release -o ./publish
    az staticwebapp deploy --name [你的SWA名称] --resource-group [资源组名称] --artifact-location ./publish/wwwroot
    
  • 若手动发布成功,说明VS发布插件异常,尝试更新Visual Studio到最新版本,或修复VS安装(工具→获取工具和功能→修改→修复)。

6. 检查本地Zip生成触发源

  • 查看项目的.csproj文件,确认是否新增了<Target>或<Publish>相关配置,排查是否误添加本地打包任务。
  • 检查VS的“外部工具”配置,确认无自动触发的打包脚本。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 17:05:53