У меня есть проект NET6, который является частью более крупного решения NET6 ASP.NET. В проекте по-прежнему упоминаются:
Которые теперь помечены как устаревшие.
Какие пакеты нужно установить для их замены?
Проблема в том, что в настоящее время SignalR находится в сборке, отдельной от основного проекта ASP.NET. Это связано с тем, что основной проект и несколько других проектов в решении используют концентраторы (с использованием конструктора внедрения зависимостей).
Если я изменю проект SignalR на
<Project Sdk = "Microsoft.NET.Sdk.Web">
...
</Project>
Я получаю следующую ошибку компиляции:
Error CS5001 Program does not contain a static 'Main' method suitable for an entry point
Итак, проблема в том, что у меня не может быть общей сборки с SignalR, на которую ссылаются несколько других проектов.
SignalR на стороне сервера в настоящее время является частью NET библиотека базовых классов. Вам не нужны никакие серверные пакеты. Классы пространства имен Microsoft.AspNetCore.SignalR
просто есть.
Однако вам нужен клиентский пакет @microsoft/signalr@latest
.
В случае возникновения дополнительных вопросов обратитесь к документация.
SignalR
включен в общую структуру Microsoft.AspNetCore.App
(документы). Измените SDK консольного приложения на Microsoft.NET.Sdk.Web
:
<Project Sdk = "Microsoft.NET.Sdk.Web">
...
</Project>
Чтобы использовать общую платформу ASP.NET Core в проект библиотеки классов, добавьте элемент FrameworkReference
для Microsoft.AspNetCore.App
:
<ItemGroup>
<FrameworkReference Include = "Microsoft.AspNetCore.App" />
</ItemGroup>