You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows版MAUI Blazor中正确引入含SignalR的RCL

解决Blazor Server与Windows MAUI Blazor复用SignalR RCL的平台依赖问题

问题根源

你的Razor类库(RCL)中引用了Microsoft.AspNetCore.App框架,该依赖针对ASP.NET Core服务器端运行时。MAUI项目默认包含Android、iOS等多平台目标框架,但这些非Windows平台没有对应的Microsoft.AspNetCore.App运行时包,因此触发There was no runtime pack...错误。直接移除MAUI的多平台目标后,又会丢失Windows打包所需的项目配置,导致发布时出现MSB4057错误。

解决方案

1. 调整RCL的项目配置,移除不必要的框架依赖

RCL仅使用SignalR客户端功能,Microsoft.AspNetCore.SignalR.Client NuGet包已包含客户端所需的全部组件,无需额外引用Microsoft.AspNetCore.App框架(Blazor Server项目本身会自带该框架依赖)。

修改后的RCL项目文件:

<Project Sdk="Microsoft.NET.Sdk.Razor">

  <PropertyGroup>
    <TargetFramework>net7.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <AddRazorSupportForMvc>false</AddRazorSupportForMvc>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="7.0.3" />
  </ItemGroup>
  <ItemGroup>
    <SupportedPlatform Include="browser" />
  </ItemGroup>
</Project>

2. 配置MAUI Blazor项目仅针对Windows构建

由于你的MAUI应用仅运行在Windows,无需保留其他平台目标,但需确保Windows打包的必要配置完整:

方式一:保留多平台目标,但默认构建Windows

在MAUI项目的<PropertyGroup>中添加默认目标框架配置:

<DefaultTargetFramework>net7.0-windows</DefaultTargetFramework>

既保留项目文件中的多平台声明,又默认只构建Windows目标,避免非Windows平台的依赖冲突。

方式二:仅保留Windows目标并完善打包配置

如果确实不需要其他平台,修改MAUI项目的<PropertyGroup>如下,确保Windows打包所需属性齐全:

<PropertyGroup>
  <TargetFramework>net7.0-windows10.0.19041.0</TargetFramework>
  <OutputType>WinExe</OutputType>
  <UseMaui>true</UseMaui>
  <SingleProject>true</SingleProject>
  <RootNamespace>YourAppNamespace</RootNamespace>
  <ApplicationManifest>Properties\app.manifest</ApplicationManifest>
  <Platforms>Windows</Platforms>
  <WindowsPackageType>MSIX</WindowsPackageType>
</PropertyGroup>

3. 验证与发布

  • 重新在MAUI项目中引用修改后的RCL,确认There was no runtime pack...错误消失。
  • 发布MAUI Windows应用时,选择net7.0-windows作为目标框架,确认打包流程正常,不会触发MSB4057错误。

内容的提问来源于stack exchange,提问作者Marco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 04:10:32