我有一个 NET6 项目,它是一个更大的.NET 6 ASP.NET 解决方案的一部分。该项目仍然引用:
Microsoft.AspNetCore.SignalR 和
Microsoft.AspNetCore.SignalR.Core
现在已被标记为已弃用。
我需要安装哪些软件包来替换它们?
问题是,目前 SignalR 位于与主 ASP.NET 项目分开的程序集中。这是因为主项目和解决方案中的其他几个项目使用中心(使用构造函数 DI)。
如果我将 SignalR 项目更改为
<Project Sdk="Microsoft.NET.Sdk.Web">
...
</Project>
我得到以下编译错误:
错误 CS5001 程序不包含适合入口点的静态“Main”方法
所以问题是,我不能有一个由多个其他项目引用的 SignalR 的通用程序集。

SignalR
包含在Microsoft.AspNetCore.App
共享框架 (docs) 中。将控制台应用 SDK 更改为Microsoft.NET.Sdk.Web
:
<Project Sdk="Microsoft.NET.Sdk.Web">
...
</Project>
在Microsoft.AspNetCore.App
的cl library project-addFrameworkReference
元素中使用 ASP.NET Core 共享框架:
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>

服务器端 SignalR 现在是 NET基类库的一部分。你不需要任何服务器端包。Microsoft.AspNetCore.SignalR
命名空间类就在那里。
但是,您需要客户端软件包@microsoft/signalr@latest
。
如有其他问题,请咨询documentation。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(82条)