为什么我的 HubConnectionBuilder 无法在 HubConnectionBuilder().Build 上运行?
Why is my HubConnectionBuilder not working on HubConnectionBuilder().Build?
我正在尝试学习如何使用 C# 客户端连接到 SignalR 服务器。而且我不确定我正在执行的步骤是否会被认为是好的(会起作用)。因为我当然会出错...
我正在尝试建立与站点的连接:
var connection = new HubConnectionBuilder()
.WithUrl(new Uri("http://localhost:5100/appsHub"))
.WithAutomaticReconnect()
.Build();
一旦我 运行 我得到下面的。我不太确定是什么问题,但这是因为 link?或者我应该默认使用不同的项目?
Inner Exception 1:
FileLoadException: Could not load file or assembly 'System.Text.Encodings.Web, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)
然后我想将 id 作为 JSON 对象发送到 URL。
我已经尝试让这个工作一周了,是的,我不知道该怎么做:(。
如有任何帮助,我们将不胜感激。
此致,
你的问题可能是项目框架和“*.SignalR.Client”包版本不兼容
右键单击您的项目并从属性菜单中检查目标框架版本。版本必须与“* .SignalR.Client”包兼容。
like here
小心教程。
通常他们使用最新的软件包版本。例如。 ASP.NET Core SignalR .NET Client 提议这样做:
Install-Package Microsoft.AspNetCore.SignalR.Client
如果最新的包版本以与您的项目相同的框架版本为目标,则此方法工作正常。但是,如果您的项目针对另一个框架版本,那么您将遇到您发布的错误。
目前 VS2019 中控制台应用程序的默认目标框架是 netcoreapp3.1
。
最新 Microsoft.AspNetCore.SignalR.Client
需要 net5.0
.
将控制台应用程序的目标框架更改为 net5.0
,或使用 Microsoft.AspNetCore.SignalR.Client
v3.1.x(3.1.10 是与 netcoreapp3.1
兼容的最新版本)。
IMO,这个包版本控制非常烦人。
我们有大约 300 个项目,我们的 LTS 版本将使用 netcoreapp3.1
直到其生命周期结束。如果现在在 VS 中打开 LTS 版本源和 Nuget 选项卡,他会看到很多“可用”包更新。但由于框架版本不兼容,无法应用这些更新。这些垃圾隐藏了许多第三方包的重要更新,这些包针对 netstandard
并且不属于 .NET Core/.NET。
因此,很多时间都浪费在监控第三方软件包的更新上。
我正在尝试学习如何使用 C# 客户端连接到 SignalR 服务器。而且我不确定我正在执行的步骤是否会被认为是好的(会起作用)。因为我当然会出错...
我正在尝试建立与站点的连接:
var connection = new HubConnectionBuilder()
.WithUrl(new Uri("http://localhost:5100/appsHub"))
.WithAutomaticReconnect()
.Build();
一旦我 运行 我得到下面的。我不太确定是什么问题,但这是因为 link?或者我应该默认使用不同的项目?
Inner Exception 1:
FileLoadException: Could not load file or assembly 'System.Text.Encodings.Web, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)
然后我想将 id 作为 JSON 对象发送到 URL。
我已经尝试让这个工作一周了,是的,我不知道该怎么做:(。
如有任何帮助,我们将不胜感激。
此致,
你的问题可能是项目框架和“*.SignalR.Client”包版本不兼容
右键单击您的项目并从属性菜单中检查目标框架版本。版本必须与“* .SignalR.Client”包兼容。
like here
小心教程。 通常他们使用最新的软件包版本。例如。 ASP.NET Core SignalR .NET Client 提议这样做:
Install-Package Microsoft.AspNetCore.SignalR.Client
如果最新的包版本以与您的项目相同的框架版本为目标,则此方法工作正常。但是,如果您的项目针对另一个框架版本,那么您将遇到您发布的错误。
目前 VS2019 中控制台应用程序的默认目标框架是 netcoreapp3.1
。
最新 Microsoft.AspNetCore.SignalR.Client
需要 net5.0
.
将控制台应用程序的目标框架更改为 net5.0
,或使用 Microsoft.AspNetCore.SignalR.Client
v3.1.x(3.1.10 是与 netcoreapp3.1
兼容的最新版本)。
IMO,这个包版本控制非常烦人。
我们有大约 300 个项目,我们的 LTS 版本将使用 netcoreapp3.1
直到其生命周期结束。如果现在在 VS 中打开 LTS 版本源和 Nuget 选项卡,他会看到很多“可用”包更新。但由于框架版本不兼容,无法应用这些更新。这些垃圾隐藏了许多第三方包的重要更新,这些包针对 netstandard
并且不属于 .NET Core/.NET。
因此,很多时间都浪费在监控第三方软件包的更新上。