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

安装Microsoft.AspNetCore.SignalR.Client后Blazor Server应用按钮失效并报错

Blazor Server安装SignalR.Client后按钮失效的解决办法

问题描述

在Ubuntu系统中执行dotnet new blazor -o MyBlazorAppServer创建全新Blazor Server项目,启动后运行正常,但安装Microsoft.AspNetCore.SignalR.Client包后,项目按钮停止工作,浏览器控制台抛出以下错误:

Uncaught (in promise) Error: Server returned an error on close: Connection closed with an error.
at fn._processIncomingData (blazor.web.js:1:60779)
at An.onreceive (blazor.web.js:1:54030)
at WebSocket. (blazor.web.js:1:82175)
blazor.web.js:1 Uncaught (in promise) Error: Server returned an error on close: Connection closed with an error. InvalidDataException: Reading 'target' as String failed.
at fn._processIncomingData (blazor.web.js:1:60779)
at An.onreceive (blazor.web.js:1:54030)
at WebSocket. (blazor.web.js:1:82175)

核心原因

Blazor Server本身依赖的SignalR组件版本与手动安装的Microsoft.AspNetCore.SignalR.Client版本不匹配,导致SignalR通信协议解析失败,最终断开连接,使组件交互失效。

解决步骤

  • 统一包版本

    1. 打开项目根目录下的.csproj文件
    2. 查看<TargetFramework>节点的框架版本(例如net7.0)
    3. 将Microsoft.AspNetCore.SignalR.Client的版本修改为与框架版本一致的数值,示例:
      <PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="7.0.14" />
      
      (若使用.NET 6+,可直接移除Version属性,让SDK自动匹配框架版本)
  • 清理重建项目
    在终端执行以下命令:

    dotnet clean
    dotnet restore
    dotnet build
    
  • 重启项目,验证按钮功能是否恢复正常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 01:02:08