I have a NET6 project which is built part of a larger .NET 6 ASP.NET solution. The project still references:
- Microsoft.AspNetCore.SignalR, and
- Microsoft.AspNetCore.SignalR.Core
Which have now been marked as deprecated.
What packages do I need to install for their replacement?
The problem is that currently SignalR is located in an assembly separate from the main ASP.NET project. This is because the main project and a couple of other projects within the solution use the hubs (using constructor DI).
If I change the SignalR project to
<Project Sdk="Microsoft.NET.Sdk.Web">
...
</Project>
I get the following compilation error:
Error CS5001 Program does not contain a static ‘Main’ method suitable for an entry point
So the problem is that I cannot have a common assembly with SignalR referenced by multiple other projects.
2
Answers
Server-side SignalR is nowadays a part of the NET base class library. You don’t need any server-side packages. The
Microsoft.AspNetCore.SignalR
namespace classes are just there.However, you need the client-side package, the
@microsoft/signalr@latest
.In case of further issues, please consult the documentation.
SignalR
is included in theMicrosoft.AspNetCore.App
shared framework (docs). Change the console app SDK toMicrosoft.NET.Sdk.Web
:To use the ASP.NET Core shared framework in a class library project – add
FrameworkReference
element forMicrosoft.AspNetCore.App
: