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\[版本号]\ComponentModelCacheC:\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
相关产品推荐
相关产品推荐

