skip to Main Content

I have a NET6 project which is built part of a larger .NET 6 ASP.NET solution. The project still references:

  1. Microsoft.AspNetCore.SignalR, and
  2. 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


  1. 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.

    Login or Signup to reply.
  2. SignalR is included in the Microsoft.AspNetCore.App shared framework (docs). Change the console app SDK to Microsoft.NET.Sdk.Web:

    <Project Sdk="Microsoft.NET.Sdk.Web">
       ...
    </Project>
    

    To use the ASP.NET Core shared framework in a class library project – add FrameworkReference element for Microsoft.AspNetCore.App:

    <ItemGroup>
        <FrameworkReference Include="Microsoft.AspNetCore.App" />
    </ItemGroup>
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search