C# 带.NET 5的SignalR是否与运行.NET标准2.1的Blazor应用程序兼容?

C# 带.NET 5的SignalR是否与运行.NET标准2.1的Blazor应用程序兼容?,c#,blazor,.net-5,C#,Blazor,.net 5,设置一个简单的Blazor信号器应用程序是一个噩梦 根据文档,SignalR在.NET5中得到了极大的改进。它与.NET Core 3.1不兼容。这很公平 如果我制作一个Blazor web程序集客户端,而不是托管在.NET Core中(我不明白这到底意味着什么,但我决定不勾选该复选框),那么它将在.NET Standard 2.1上运行 所以,如果我在.NET5中设置了SignalR,然后尝试使用我的.NET标准2.1 Blazor客户端使用它,这会起作用吗?如果不是,我该怎么办 -- 编辑:

设置一个简单的Blazor信号器应用程序是一个噩梦

根据文档,SignalR在.NET5中得到了极大的改进。它与.NET Core 3.1不兼容。这很公平

如果我制作一个Blazor web程序集客户端,而不是托管在.NET Core中(我不明白这到底意味着什么,但我决定不勾选该复选框),那么它将在.NET Standard 2.1上运行

所以,如果我在.NET5中设置了SignalR,然后尝试使用我的.NET标准2.1 Blazor客户端使用它,这会起作用吗?如果不是,我该怎么办

--

编辑:

如果我制作一个Blazor web程序集客户端,而不是托管在.NET Core中(我不明白这到底意味着什么,但我决定不勾选该复选框),那么它将在.NET Standard 2.1上运行

如果使用.NET Core 3.1创建WASM应用程序:

  • .NET Core托管:将创建3个项目:

    • .Client
      netstandard2.1
      并使用
      Microsoft.NET.Sdk.Web
      Sdk
    • .Server
      将是
      netcoreapp3.1
      并使用
      Microsoft.NET.Sdk.Web
      Sdk
    • .Shared
      将是
      netstandard2.1
      并使用
      Microsoft.NET.Sdk
      Sdk
  • 非.NET核心托管:将创建一个项目,即
    netstandard2.1
    并使用
    Microsoft.NET.Sdk.Web
    Sdk

如果您使用.NET 5创建WASM应用程序

  • .NET Core托管:将创建3个项目:

    • .Client
      net5.0
      并使用
      Microsoft.NET.Sdk.BlazorWebAssembly
      Sdk
    • .Server
      net5.0
      并使用
      Microsoft.NET.Sdk.Web
      Sdk
    • .Shared
      net5.0
      并使用
      Microsoft.NET.Sdk
      Sdk
  • 非.NET Core托管:将创建一个项目,即
    net5.0
    并使用
    Microsoft.NET.Sdk.BlazorWebAssembly
    Sdk

所以,如果我在.NET5中设置了SignalR,然后尝试使用我的.NET标准2.1 Blazor客户端使用它,这会起作用吗?如果不是,我该怎么办

这应该不是问题。为避免进一步混淆,您可以按照以下步骤轻松将.NET Core 3.1 WASM应用程序升级到.NET 5:

.csproj
文件上:

  • 更改为
  • netstandard2.1
    更改为
    net5.0
  • 删除
    3.0
  • 删除对Microsoft.AspNetCore.Components.WebAssembly.Build的包引用
  • 将所有其他软件包更新至最新版本稳定
    5.0.0
  • 确保这些设置在您的机器上正确

  • 最新的VisualStudio
  • .NET5SDK

  • .NET Core 5不存在,它只是.NET 5。>如果我制作一个Blazor web程序集客户端,而不是托管在.NET Core中,那么它运行在.NET标准2.1上。。如果您选择.NET5.0,它不会。@CamiloTerevinto我不支持,我添加了一个屏幕截图来显示。下拉框说ASP.NET Core 5.0有那么大的不同吗?@BrianParker我查了一下.NET标准,它说它是一个API而不是一个实现(用于类库),但我的Blazor应用程序说.NET标准2.1可以运行吗?这怎么可能?我很困惑.NET标准无法运行,它不是一个应用程序,它只是一个类库。您有两种选择:使用.NET标准2.1并限于ASP.NET Core 3.1(由于兼容性)或使用.NET Core 5