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

从Xamarin迁移MAUI项目时Mac端构建报错求助

解决.NET MAUI迁移中的Mac构建错误

问题1:.NET Framework类库导致_GetRequiredWorkloads目标不存在错误

错误原因

MAUI项目在执行dotnet workload restore时,会尝试对所有引用项目执行*_GetRequiredWorkloads*目标,但你的MyModel.csproj是基于.NET Framework 4.6.1的类库,这个目标不存在于.NET Framework项目中,导致构建失败。

解决方案

无需将MyModel.csproj改为MAUI类库(.NET MAUI可直接兼容.NET Framework类库引用),只需修改MAUI项目的引用配置,让workload restore过程跳过该类库:

  1. 编辑MyMauiApp.csproj,找到对MyModel.csproj的引用节点,添加DisableImplicitWorkloadReferences="true"属性:
<ProjectReference Include="..\MyModel\MyModel.csproj">
  <DisableImplicitWorkloadReferences>true</DisableImplicitWorkloadReferences>
</ProjectReference>
  1. 保存后重新执行dotnet workload restore,再尝试构建。

问题2:改为MAUI类库后出现NETSDK1147重复报错

错误原因

  1. 环境中同时存在.NET 7 SDK(报错显示使用的是7.0.311),但项目基于.NET 8,SDK版本不匹配导致workload识别异常;
  2. MAUI类库默认包含全平台workload依赖,即使仅需iOS和Android,构建过程仍会检查Tizen workload,安装后仍可能因SDK版本问题重复触发*NETSDK1147*错误。

解决方案

步骤1:指定项目使用.NET 8 SDK并排除Tizen平台

编辑MyMauiApp.csproj:

<Project Sdk="Microsoft.NET.Sdk.Maui">
  <PropertyGroup>
    <TargetFrameworks>net8.0-android;net8.0-ios</TargetFrameworks>
    <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">21.0</SupportedOSPlatformVersion>
    <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">14.2</SupportedOSPlatformVersion>
    <EnableTizen>false</EnableTizen>
  </PropertyGroup>
</Project>

若已将MyModel.csproj改为MAUI类库,编辑其项目文件:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <IsWorkloadProject>false</IsWorkloadProject>
  </PropertyGroup>
</Project>

步骤2:强制使用.NET 8 SDK执行命令

在终端中执行(替换x为已安装的.NET 8 SDK具体版本,如8.0.100):

dotnet workload restore --sdk-version 8.0.x

步骤3:清理并重新构建

dotnet clean
dotnet restore
dotnet build -f net8.0-ios

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 18:15:07