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

.NET 6服务端项目应安装哪个SignalR包替代已弃用旧包?

解决方案

弃用SignalR包的替换说明

.NET 6 环境下,Microsoft.AspNetCore.SignalR和Microsoft.AspNetCore.SignalR.Core这两个.NET Core 2.x时代的独立包已经被整合进ASP.NET Core共享框架,不存在单独的替代NuGet包,不需要额外安装独立维护的SignalR相关包。

独立类库集成SignalR且避免CS5001编译错误的配置方法

不要将类库项目的SDK修改为Microsoft.NET.Sdk.Web,该SDK默认会将项目识别为需要程序入口点的可执行Web应用,才会触发"不存在适合作为入口点的静态Main方法"的CS5001编译错误。正确配置步骤如下:

  • 类库项目保留默认的Microsoft.NET.Sdk作为项目SDK
  • 在项目的.csproj文件中添加ASP.NET Core共享框架的引用,即可使用全部SignalR相关类型,完整配置示例如下:
<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>net6.0</TargetFramework>
        <!-- 保留项目原有其他配置,比如可空引用类型、隐式using等配置 -->
    </PropertyGroup>

    <ItemGroup>
        <!-- 引入ASP.NET Core共享框架,包含所有SignalR核心能力 -->
        <FrameworkReference Include="Microsoft.AspNetCore.App" />
    </ItemGroup>
</Project>
  • 配置完成后,你可以在这个独立类库中正常编写自定义Hub、SignalR相关的服务注册逻辑,编译生成的是标准类库程序集,没有入口点要求,解决方案内的其他项目可以正常引用该程序集,通过构造函数注入依赖的SignalR相关服务也不会有问题。主Web项目只需要正常完成SignalR中间件配置、映射Hub终结点即可。

内容的提问来源于stack exchange,提问作者Ivan-Mark Debono

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 01:27:16