NuGetパッケージマネージャーを使用してSignalRをインストールしようとしていますC#Asp.Netコアプロジェクトですが、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.NetCoreは現在(2018年1月1日)NuGetでアルファ版として利用できます。
https://www.nuget.org/packages/Microsoft.AspNetCore.SignalR/
SignalRがASP.Net Core 2.1で利用可能になりました
SignalR 2は、.NET Core用ではなく、.NET Framework用に構築されています。彼らはまだSignalR for .NET Coreに取り組んでいます。
ASP.NET Coreロードマップの 古いリビジョン は、SignalRをASP.NET Core 1.2の一部として示しています。 最新リビジョン は、SignalR(またはフレームワーク)を参照していませんが、1.2が2017年第2四半期に予定されていることについて言及しています。
Microsoftの連中がASP.NET CoreでSignalRについて議論している ビデオ があります。 1時間もあるので、見ないでおく。しかし、おそらくいくつかの有用な情報がそこにあります。
SignalR for asp.netコア
EDIT:SignalR for asp.net core is release with .net standard 2.1。
このパッケージは.net標準2.0を対象としており、まだアルファ版です。
。net標準2.1より前の安定版リリースはリリースされていないようです
パッケージは myget にあります。
シグナルハブの負荷を分散する場合、redisをバックペインとして使用できます。
asp.netのSignalR
そして、すでに安定したリリースを持っている.netフレームワーク用のSignalRパッケージもあります。 nuget にあります。
負荷分散 の場合、次のバックペインタイプがサポートされます。
SignalR.Server for asp.net core(更新18.09.2017:利用できなくなりました)
このパッケージは使用しないでください!
これは、.net 4.5.1および.net standard 1.6を対象とする非推奨のパッケージです。安定したパッケージはなく、今後もリリースされます。
プレビューパッケージは myget にあります。
シグナルハブを負荷分散する場合、SQLサーバーをバックペインとして使用できます。 (しかし 実装は壊れています )
私は現在、.netコア/ angular 4プロジェクトでシグナルを使用しています。
グーグルにはいくつかのシードの例がありますが、ほとんどの人がnugetを介してシグナルをダウンロードしようとする可能性があるのは、それが別のパッケージリポジトリであるという事実です。エッジリポジトリ:
<?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>
それは正しいです。 SignalRはOWIN上に構築されています。OWINは、フレームワーク全体をターゲットにする場合、asp.netコアと互換性がありますが、dotnetコアは互換性がありません。
最近、SignalRを使用するMVC5アプリケーションをASP.NET Core 1.1(netcoreapp1.1
)。非公式のパッケージ(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();
SignalRは.NET Coreで導入されています。ここに実装のリンクがあります https://www.youtube.com/watch?v=1TrttIkbs6c
次のパッケージは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、Version = v2.0がサポートされるようになりました。プロジェクトでパッケージを使用しました。 Angular 4 + SignalR