3

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

等待 MyHubConnection.StartAsync() 失败;

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

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

如何解决这个问题?

谢谢!

亚当·莱弗特 www.leffert.com

4

3 回答 3

5

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

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

于 2019-06-22T21:45:27.000 回答
3

我最近将一个 .net core 2.2.x 应用程序迁移到了 framework 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

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

于 2020-01-21T02:32:31.110 回答
0

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

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

<ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
于 2020-11-28T22:42:06.633 回答