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

Windows代理下GitHub Actions构建.NET 8 Blazor Hybrid MAUI报错求助

解决GitHub Actions构建.NET 8 Blazor Hybrid MAUI应用的NETSDK1112与NETSDK1047错误

错误原因分析

  • NETSDK1112:依赖恢复阶段未指定win-x64运行时标识符(RID),导致对应Windows平台的运行时包未被下载。
  • NETSDK1047:在Windows环境的runner上尝试构建maccatalyst目标框架,但Windows不支持该macOS专属目标,因此项目资产文件中没有对应条目。

修改后的GitHub Actions工作流配置

name: build

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

jobs:
  build-windows:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v3.4.0

      - name: Setup .NET 8 SDK
        uses: actions/setup-dotnet@v3
        with:
          dotnet-version: 8.0.x
          
      - name: Install .NET MAUI Workload
        run: dotnet workload install maui --from-rollback-file https://aka.ms/dotnet/maui/8.0.20/rollback.json
        # 指定回滚文件确保MAUI workload与当前SDK版本兼容

      - name: Restore Dependencies (Windows RID)
        run: dotnet restore ./BlazorHybrid.sln --runtime win-x64 --configuration Release

      - name: Build Windows Target Only
        run: dotnet build ./BlazorHybrid/MAUI/MAUI.csproj --configuration Release --no-restore --framework net8.0-windows10.0.19041.0

关键修改说明

  1. 指定RuntimeIdentifier恢复依赖:在dotnet restore命令中添加--runtime win-x64,强制下载Windows平台所需的运行时包,直接解决NETSDK1112错误。
  2. 仅构建Windows目标框架:直接针对MAUI项目的Windows专属框架net8.0-windows10.0.19041.0执行构建,避免触发Windows runner不支持的maccatalyst目标,解决NETSDK1047错误。
  3. MAUI Workload版本兼容:通过--from-rollback-file指定与当前.NET 8 SDK版本匹配的MAUI workload安装源,规避版本不兼容导致的潜在问题。

扩展说明

若需要构建多平台版本,需使用GitHub Actions矩阵作业,为不同平台分配对应runner:

  • Windows runner构建Windows目标
  • macOS runner构建maccatalyst、iOS目标
  • Linux runner构建Android目标

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 14:43:23