Asp.net

SignalR 不能與 .Net Core 一起使用

  • July 5, 2018

我正在嘗試在我的C# Asp.Net 核心項目中使用 NuGet 包管理器安裝SignalR,但我收到 SignalR 與 .net 核心不兼容的錯誤,它真的不支持嗎?或者我可以做些什麼來讓它工作嗎?(如果提到這一點很重要,我正在使用 VS2017)。錯誤:

Restoring packages for D:\Test\Test.WebAPI\Test.WebAPI.csproj...
Package Microsoft.AspNet.SignalR.Core 2.2.1 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package Microsoft.AspNet.SignalR.Core 2.2.1 supports: net45 (.NETFramework,Version=v4.5)
Package Owin 1.0.0 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package Owin 1.0.0 supports: net40 (.NETFramework,Version=v4.0)
Package Microsoft.Owin 2.1.0 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package Microsoft.Owin 2.1.0 supports:
 - net40 (.NETFramework,Version=v4.0)
 - net45 (.NETFramework,Version=v4.5)
Package Microsoft.Owin.Security 2.1.0 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package Microsoft.Owin.Security 2.1.0 supports: net45 (.NETFramework,Version=v4.5)
One or more packages are incompatible with .NETCoreApp,Version=v1.1.
Package restore failed. Rolling back package changes for 'Test.WebAPI'.

更新:

SignalR for ASP.Net Core目前 (01.01.2018) 在 NuGet 中作為 alpha 版本提供。

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

UDPATE 01.06.2018:

SignalR 現在可用於 ASP.Net Core 2.1

SignalR 2 是為 .NET Framework 建構的,而不是為 .NET Core 建構的。他們仍在為 .NET Core 開發 SignalR。

ASP.NET Core 路線圖的舊版本顯示 SignalR 作為 ASP.NET Core 1.2 的一部分。最新版本沒有提及 SignalR(或任何框架),但確實提到 1.2 計劃於 2017 年第二季度發布。

一個影片,微軟的人正在討論 ASP.NET Core 中的 SignalR。時長一個小時,所以我不會為你看。但也許那裡有一些有用的資訊。

用於 asp.net 核心的SignalR

編輯: 用於 asp.net 核心的 SignalR 已隨 .net 標準 2.1 一起發布。

此軟體包針對 .net 標準 2.0,仍處於 alpha 狀態。

在 .net 標準 2.1 之前似乎還沒有穩定的版本。

在此處輸入圖像描述

這些包可以在myget上找到。

如果您對信號器集線器進行負載平衡,則可以將 redis 用作背板。


用於 asp.net 的 SignalR

還有用於 .net 框架的 SignalR 包,它已經有一個穩定的版本。它可以在nuget上找到。

對於負載平衡,支持以下背板類型:

  • Azure 服務匯流排
  • 雷迪斯
  • SQL 伺服器

用於 asp.net 核心的SignalR.Server (更新 18.09.2017:不再可用)

不要使用這個包!

這是針對 .net 4.5.1 和 .net 標準 1.6 的已棄用包。沒有穩定的軟體包已經並且將永遠發布。

預覽包可以在myget上找到。

如果您對信號器集線器進行負載平衡,則可以將 sql server 用作背板。(但是實現被破壞了

引用自:https://stackoverflow.com/questions/42730468