SignalR HubConnection.StartAsync 异常:Microsoft.AspNetCore.SignalR.Client.Core 中的 GetStreamItemType,v1.1.0.0 没有实现

SignalR HubConnection.StartAsync exception: GetStreamItemType in Microsoft.AspNetCore.SignalR.Client.Core, v1.1.0.0 does not have implementation

使用 .Net Core Signal R、Azure SignalR。用于工作的代码。停止工作。

等待失败 MyHubConnection.StartAsync();

抛出异常 System.TypeLoadException:“来自程序集 'Microsoft.AspNetCore.SignalR.Client.Core, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' 的类型 'ConnectionState' 中的方法 'GetStreamItemType' 没有实现。”

Microsoft.AspNetCore.SignalR.Client v 1.1.0 Microsoft.Azure.SignalR1.0.7

如何解决这个问题?

谢谢!

亚当·莱弗特 www.leffert.com

如果其他人遇到这个问题,我会在这里发布答案。

我能够通过将所有 SignalR 和相关的 NUGet 包更新到它们的 3.x pre-release 版本来解决这个问题。

我最近将 .net core 2.2.x 应用程序迁移到框架 3.1。我遇到了同样的问题。问题是 Microsoft.AspNetCore.SignalR 和 Microsoft.AspNetCore.SignalR.Client.

之间的版本不匹配

要正常工作,服务器必须有 SignalR 1.1.0

https://www.nuget.org/packages/Microsoft.AspNetCore.SignalR/1.1.0

对于客户端来说,必须是最新的,即使之前的还有效:

https://www.nuget.org/packages/Microsoft.AspNetCore.SignalR.Client/3.1.1

客户端和服务器的其他组合不起作用或者它们有一些意外行为。

NET 5 控制台应用程序的解决方案只是使用 ASP.NET 5.

的元引用

打开您的项目并添加此元引用(不要忘记删除旧的 ASP.NET 引用):

<ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>