使用.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
答案 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>