在我的项目中,
.net 8
SignalR用于使用websockets进行数据流。
不久前,我使用包Microsoft.AspNetCore.SignalR创建了一个解决方案原型。然而,这已被宣布为已弃用。在我的代码中,我使用了等集线器,它们是上述包的一部分。 另外,集线器也可以在 Microsoft.AspNet.SignalR.Core 中使用,它得到了维护,但它针对较旧的 .net 版本,我认为它不提供相同的功能,尽管事物的调用方式非常相似。
我担心的是,由于潜在的漏洞,在新项目中使用已弃用的包。
这个有点旧的post建议参考Microsoft.AspNetCore.App,因为它包含已弃用的SignalR包的功能,但Microsoft.AspNetCore.App本身已弃用。
我寻求的是应该使用哪个库的解决方案,以引用我的项目中维护的包,以保持集线器和低延迟 Web 套接字通信的功能。我不是经验丰富的开发人员,所以如果我的担忧是真实的或者我在理解中错过了什么,我很感谢对此或信息的反馈。
谢谢!
编辑(来自问题作者):
我已经知道我的错误/误解是什么,我在修订过程中得到了其中一位的解释:
如果您仔细查看链接到的帖子,它使用的是 FrameworkReference 而不是 PackageReference。 Microsoft.AspNetCore.App 作为框架并未被弃用。如果您正在创建一个库,您也只需要框架参考,如果您正在创建一个应用程序,那么 Web sdk(csproj 的顶部)将自动包含框架参考。 learn.microsoft.com/aspnet/core/fundamentals/... 有更多信息。
所以解决方案是,在 .csproj 文件中创建 .net 库类型的项目(在我的例子中是 .net 8)时,放置:
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
问题就解决了。谢谢您的帮助!