macOS下MAUI应用开发:执行dotnet workload restore触发MSBuild异常
解决macOS上MAUI项目加载失败及运行问题
1. 修复.NET Workload安装异常
VS4Mac图形化安装无反馈时,直接用命令行强制清理并重装相关workload:
- 清理损坏的workload缓存:
dotnet workload clean - 安装MAUI及Xamarin依赖workload(适配你的.NET 6 SDK版本):
dotnet workload install maui --sdk-version 6.0.421 dotnet workload install maui-mobile --sdk-version 6.0.421 dotnet workload install xamarin-mac --sdk-version 6.0.421 - 若项目基于F#开发,额外安装F#专属MAUI workload:
dotnet workload install maui-fsharp --sdk-version 6.0.421
2. 修复缺失的Xamarin.Mac.FSharp.targets文件
若执行上述命令后仍报错,按以下步骤处理:
- 检查路径
/usr/local/share/dotnet/sdk/6.0.421/Xamarin/Mac/是否存在:
打开VS4Mac,进入Visual Studio > Preferences > SDK Locations > .NET,确认.NET 6 SDK已勾选;再进入SDK Locations > Apple,确保Xamarin.Mac组件已安装。 - 若目录存在但缺少目标文件,强制重装F# workload:
dotnet workload uninstall maui-fsharp dotnet workload install maui-fsharp --sdk-version 6.0.421 --force
3. 重新加载项目并验证
- 关闭VS4Mac,删除项目目录下的
bin、obj文件夹,以及.vs隐藏目录(若存在)。 - 重新打开VS4Mac加载项目,执行命令行恢复依赖:
dotnet restore - 尝试运行项目,确认加载状态正常。
4. 备选方案:升级.NET SDK版本
若.NET 6的workload问题持续,可升级至.NET 7或.NET 8稳定版(MAUI后续版本兼容性更优):
- 安装对应版本的.NET SDK,修改项目文件(
.csproj/.fsproj)中的TargetFramework,例如:<TargetFrameworks>net7.0-ios;net7.0-maccatalyst;net7.0-android</TargetFrameworks> - 重新执行
dotnet workload restore后加载项目。
内容的提问来源于stack exchange,提问作者knocte
相关产品推荐
相关产品推荐

