在GitHub Runners中构建.NET 8 MAUI项目遇Windows/MacCatalyst错误
.NET 8 MAUI GitHub Actions构建问题解决方案
Windows构建错误(NETSDK1135)
错误原因是项目中Windows平台的SupportedOSPlatformVersion版本高于TargetPlatformVersion,触发了.NET SDK的版本校验逻辑。
解决步骤:
- 打开项目的
.csproj文件,找到Windows平台对应的属性组 - 确保
TargetPlatformVersion和SupportedOSPlatformVersion版本一致,推荐设置为.NET 8 MAUI默认要求的10.0.22621.0:
<PropertyGroup Condition="'$(TargetFramework)' == 'net8.0-windows10.0.19041.0'"> <TargetPlatformVersion>10.0.22621.0</TargetPlatformVersion> <SupportedOSPlatformVersion>10.0.22621.0</SupportedOSPlatformVersion> </PropertyGroup>
- 若需兼容旧版本Windows,可将
SupportedOSPlatformVersion降低至不超过TargetPlatformVersion的值,但需注意.NET 8的最低支持要求。
MacCatalyst构建错误(NETSDK1047)
错误原因是GitHub Actions的Mac Runner环境未正确获取net8.0-maccatalyst/x64的构建资产,或构建命令未明确指定运行时。
解决步骤:
- 更新Runner镜像:在CI配置中使用
macos-13或macos-14镜像,旧版本镜像可能缺少.NET 8 MacCatalyst的x64支持。 - 调整构建命令:在restore和build步骤中明确指定运行时:
jobs: build-maccatalyst: runs-on: macos-14 steps: - uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x - name: Restore dependencies run: dotnet restore -r maccatalyst-x64 - name: Build MacCatalyst run: dotnet build -f net8.0-maccatalyst -r maccatalyst-x64 --no-restore -c Release
- 检查项目配置:确保
.csproj中包含MacCatalyst的运行时标识符:
<PropertyGroup> <RuntimeIdentifiers>maccatalyst-x64;maccatalyst-arm64</RuntimeIdentifiers> </PropertyGroup>
内容的提问来源于stack exchange,提问作者ScottishTapWater
相关产品推荐
相关产品推荐

