2015-11-23 3 views
12

Nie wydaje mi się, aby SignalR 3 działał na aktualizację ASP .Net 5 RC-1 z Beta8. Wypróbowałem najnowszy pakiet RC1 dla SignalR, ale wystąpił następujący problem. Próbowałem pakiet "Microsoft.AspNet.SignalR.Server": "3.0.0-rc1-15810"SignalR nie działa w ASP .Net 5 RC-1

services.AddSignalR(); 

powoduje następujący błąd:

The type 'IServiceCollection' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.Extensions.DependencyInjection.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

i app.UseSignalR();

jest przyczyną tego jeden:

The type 'IApplicationBuilder' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.AspNet.Http.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

Kiedy przejść do pakietu "Microsoft.AspNet.SignalR.Server": "3.0.0-rc2-15909" Pojawia się błąd runtime:

An exception of type 'System.TypeLoadException' occurred in mscorlib.dll but was not handled in user code

Additional information: Could not load type 'Microsoft.AspNet.Http.RequestDelegate' from assembly 'Microsoft.AspNet.Http.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.

+0

SignalR nie jest obsługiwany przez Asp .Net 5 v1. – Tratcher

+0

@ Tratcher co o [tym] (https://github.com/aspnet/SignalR-Server). Wygląda też na to, że [to] (https://github.com/aspnet/BugTracker) go używa. –

+1

@Tratcher to zdecydowanie jest obsługiwane. Poniższe odpowiedzi zadziałały u mnie i używam go w wersji beta 8 przez ostatnie kilka tygodni. – Tjaart

Odpowiedz

33

I Właśnie to przetestowaliśmy i wygląda na to, że wymagane jest odwołanie do aspnetmaster myget feed, mimo że nie jest to wspomniane w installation docs.

Przed włączeniem aspnetmaster mogłem rozwiązać tylko Microsoft.AspNet.SignalR.Server 3.0.0-rc1-15810 bezpośrednio lub podając rc1-*, który nie jest kompilowany przeciwko rc1-final. W tym aspnetmaster daje dostęp do rc1-final.

Jeśli używasz programu Visual Studio 2015, przejdź do Narzędzia> Opcje> Menedżer pakietów Nuget> Źródła pakietów i dodaj nowy kanał o nazwie, który Ci się podoba, ale z zestawem źródeł do https://www.myget.org/F/aspnetmaster/api/v3/index.json.

Jeśli nie korzystasz z VS2015 lub nie chcesz edytować konfiguracji w całym komputerze, dodaj/edytuj plik NuGet.config w katalogu głównym rozwiązania, aby dołączyć źródło pakietu w następujący sposób;

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <packageSources> 
    <add key="aspnetmaster" value="https://www.myget.org/F/aspnetmaster/api/v3/index.json" /> 
    </packageSources> 
</configuration> 
+0

Dzięki.Myślałem, że to mogło być źródło pakietu, ale nie mogłem go znaleźć. – Tjaart

5

źródła Wykorzystanie MyGet dla "Microsoft.AspNet.SignalR.Server": "3.0.0-RC1-final"

Tutaj podobne odpowiedzi, które mogą być pomocne: Can't find Microsoft.AspNet.SignalR.Server 3.0.0-beta7

+0

. Czy możesz to wyjaśnić? – manetsus

+2

Musisz dodać kanał aspnetmaster do swoich źródeł Nuget. Źródłem jest ** https: //www.myget.org/F/aspnetmaster/api/v3/index.json** (W programie Visual Studio kliknij - ** Narzędzia => Opcje => Menedżer pakietów Nuget = > Źródła pakietów **). Następnie będziesz w stanie napisać i rozwiązać "Microsoft.AspNet.SignalR.Server": "3.0.0-rc1-final" ' w pliku project.json. –

+1

Tutaj oznacza w twojej odpowiedzi, nie w komentarzu. Zapamiętaj to na przyszłość. – manetsus

0

Dla każdego, kto szuka na tej stronie teraz, pasza aspnetmaster usunął "Microsoft.AspNet.SignalR.Server": "3.0.0-RC1-final"