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

时间:2019-06-20 13:06:28

标签: c# signalr azure-signalr

使用.Net Core Signal R,Azure SignalR。以前工作的代码停止工作。

等待MyHubConnection.StartAsync();失败

引发异常System.TypeLoadException:程序集“ Microsoft.AspNetCore.SignalR.Client.Core,版本= 1.1.0.0,Culture = neutral,PublicKeyToken = adb9793829ddae60”中的方法“ ConnectionState”中的“方法'GetStreamItemType'类型为'ConnectionState'实施。”

Microsoft.AspNetCore.SignalR.Client v 1.1.0 Microsoft.Azure.SignalR 1.0.7

如何解决此问题?

谢谢!

亚当·莱弗特 www.leffert.com

3 个答案:

答案 0 :(得分:3)

我最近将.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

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

答案 1 :(得分:0)

万一其他人遇到这个问题,我将答案发布在这里。

我能够通过将所有SignalR和相关的NUGet软件包更新到其3.x预发行版本来解决此问题。

答案 2 :(得分:0)

NET 5控制台应用程序的解决方案仅是使用ASP.NET 5的元引用。

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

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