Обновление SignalR - PullRequest
0 голосов
/ 08 марта 2019

В следующем решении ссылка Установлена ​​SignalR версии 1.0.1

SignalR не отображается в списке пакетов NuGet, поэтому я не знаю, как его обновить. Появляется под SDK -> Microsoft.AspNetCore.App (2.1.1), поэтому устанавливается как зависимость.

Я попытался обновить его, установив последнюю версию SignalR с использованием NuGet, но код не подхватывает последнюю версию. Я знаю это, потому что когда я контролирую щелчок по типу SignalR, он открывает новый файл, в котором говорится, что он использует: Assembly location: C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.signalr.core\1.0.1\lib\netstandard2.0\Microsoft.AspNetCore.SignalR.Core.dll

Как обновить SignalR в этом сценарии?

Ответы [ 2 ]

0 голосов
/ 09 марта 2019

ASP.NET Core SignalR является компонентом ASP.NET Core, поэтому его не нужно обновлять отдельно.ASP.NET Core входит в состав хостинговой платформы.Поэтому, чтобы обновить ASP.NET Core SignalR (или ASP.NET Core), вы загружаете более новый .NET SDK и собираете / запускаете свое приложение с более новой средой выполнения (измените раздел sdk global.json, если он у вас есть, в противном случаепо умолчанию обычно используется самая последняя версия. Для проверки используйте dotnet --info.

Вы сказали, что в настоящее время ваше приложение использует v2.1.1 из Microsoft.AspNetCore.App, что говорит о том, что вы используете .NET Core2.1.На https://dotnet.microsoft.com/download последняя версия .NET Core - 2.2, поэтому доступно обновление, хотя я не знаю, какие изменения в SignalR он будет включать.

edit: страница, на которую вы ссылалисьВ двух версиях SignalR четко указано имя пакетов NuGet, но также показано, что Microsoft.AspNet.SignalR работает с серверами ASP.NET (System.Web) и OWIN, а Microsoft.AspNetCore.SignalR - с ASP.NET Core сервер.Поскольку ваше приложение использует Microsoft.AspNetCore.App, у вас нет выбора, какую версию SignalR использовать.Если вы хотите использовать другой, вам нужно создать новый проект, который использует либо .NET Framework ASP.NET (который использует System.Web), либо использует библиотеки OWIN.

Что касается MicrosoftПакет .AspNetCore.SignalR NuGet, если вы посмотрите на зависимости, вы увидите, что он зависит от того, что является частью ASP.NET Core 2.2 и, следовательно, несовместимо с вашим приложением ASP.NET Core 2.1.Вы можете попробовать добавить ссылку на новейший пакет SignalR, но когда я попытался, когда я восстановил проект, я получил следующие сообщения об ошибках:

C: \ git \ test \ aspnetcoretest \ aspnetcoretest.csproj: предупреждение NU1608: Обнаружена версия пакета вне ограничения зависимости: Microsoft.AspNetCore.App 2.1.1 требует Microsoft.AspNetCore.SignalR (> = 1.0.1 && <1.1.0), но версия Microsoft.AspNetCore.SignalR 1.1.0 была разрешена. </p>

C: \ git \ test \ aspnetcoretest \ aspnetcoretest.csproj: ошибка NU1107: обнаружен конфликт версий для Microsoft.AspNetCore.Authentication.Abstractions.Установите / обратитесь к Microsoft.AspNetCore.Authentication.Abstractions 2.2.0 непосредственно в проект aspnetcoretest для решения этой проблемы.

C: \ git \ test \ aspnetcoretest \ aspnetcoretest.csproj: ошибка NU1107: aspnetcoretest -> Microsoft.AspNetCore.SignalR 1.1.0 -> Microsoft.AspNetCore.Http.Connections 1.1.0 -> Microsoft.AspNetCore.Authorization.Policy 2.2.0 -> Microsoft.AspNetCore.Authentication.Abstractions (> = 2.2.0)

C: \ git \ test \ aspnetcoretest \ aspnetcoretest.csproj: ошибка NU1107: aspnetcoretest -> Microsoft.AspNetCore.App 2.1.1 -> Microsoft.AspNetCore.Authentication.Abstractions (> = 2.1.1 && <2.2.0).</p>

Восстановление не удалось через 964,82 мс для C: \ git \ test \ aspnetcoretest \ aspnetcoretest.csproj.

Итак, как я сказал в первом предложении первого абзаца, вы нене обновлять его отдельно.Если вы хотите использовать более новую SignalR, вы редактируете свой csproj и меняете <TargetFramework>netcoreapp2.1</TargetFramework> на <TargetFramework>netcoreapp2.2</TargetFramework>.Вам нужно установить .NET Core 2.2 SDK, если вы этого еще не сделали.

0 голосов
/ 08 марта 2019

Попробуйте удалить .dll-файлы signalR из NugetFallbackFolder, я бы ожидал, что он найдет соответствующие DLL-файлы в папке без отката

...