我正在尝试在 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'.
ASP.Net的信号核心目前(01.01.2018)在NuGet中作为alpha版本提供。
https://www.nuget.org/packages/Microsoft.AspNetCore.SignalR/
SignalR现在可用于ASP.Net Core 2.1
答案 0 :(得分:11)
SignalR 2是为.NET Framework而构建的,不适用于.NET Core。他们仍在使用SignalR for .NET Core。
ASP.NET核心路线图的old revision将SignalR显示为ASP.NET Core 1.2的一部分。 latest revision没有提及SignalR(或任何框架),但确实提到1.2计划在2017年第二季度。
那里的a video微软人员正在讨论ASP.NET Core中的SignalR。这是一个小时,所以我不会为你看。但也许有一些有用的信息在那里。
答案 1 :(得分:4)
我目前正在使用signalr进行.net core / angular 4项目。
google上有一些种子示例,但有一件事可能会让大多数人试图通过nuget下载signalr这是一个事实,它是一个不同的包回购 - 你需要在你的解决方案中更新Nuget.config以引用更多的前沿回购:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="AspNetCore" value="https://dotnet.myget.org/F/aspnetcore-ci-dev/api/v3/index.json" />
<add key="NuGet" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>
答案 2 :(得分:4)
编辑: SignalR for asp.net core has been released with .net standard 2.1.
This package targets .net standard 2.0 and is still in the alpha state.
It doesn't seem like a stable release is out before .net standard 2.1.
可以在myget上找到这些包。
如果您对信号器集线器进行负载平衡,则可以使用redis作为背板。
针对asp.net的SignalR
还有针对.net框架的SignalR软件包,它已经具有稳定版本。它可以在nuget找到。
对于load balancing,支持以下backpane类型:
SignalR.Server (更新18.09.2017:暂不可用)
请勿使用此套餐!
这是已弃用的软件包,其目标是.net 4.5.1和.net标准1.6。没有稳定的包装,也将永远不会发布。
可以在myget上找到预览包。
如果您对信号器集线器进行负载平衡,则可以使用sql server作为背板。 (但是implementation is broken)
答案 3 :(得分:2)
这是正确的。 SignalR建立在OWIN之上,如果你的目标是完整的框架,那么它与asp.net核心兼容,而不是dotnet核心。
答案 4 :(得分:1)
我最近迁移了一个将SignalR用于 ASP.NET Core 1.1 (netcoreapp1.1
)的MVC5应用程序。我找到了一个非正式的软件包(Gray.Microsoft.AspNetCore.SignalR.Server
),它几乎没有对我现有的代码进行任何更改。
<PackageReference Include="Microsoft.AspNetCore.WebSockets" Version="1.0.2" />
<PackageReference Include="Gray.Microsoft.AspNetCore.SignalR.Server" Version="0.2.0-alpha1" />
services.AddSignalR();
app.UseWebSockets();
app.UseSignalR();
答案 5 :(得分:0)
可以在NuGet上找到以下软件包。
Microsoft.AspNetCore.SignalR 1.0.0-alpha1-final 用于在Web上提供实时双向通信的组件。
Microsoft.AspNetCore.SignalR.Redis 1.0.0-alpha1-final Redis for ASP.NET Core SignalR。
软件包支持.NETSTandard,版本= v2.0现在。 我在我的项目中使用了这些包。 角度4 + SignalR
答案 6 :(得分:0)
.NET Core引入了SignalR 这是实施链接 https://www.youtube.com/watch?v=1TrttIkbs6c