.NET MAUI部署iPhone遇CompileAppManifest任务缺少DefaultSdkVersion参数错误
DefaultSdkVersion缺失错误 针对你遇到的error MSB4044: The "CompileAppManifest" task was not given a value for the required parameter "DefaultSdkVersion"错误,可通过以下步骤排查解决:
检查Mac端Xcode命令行工具配置
打开Mac的Xcode,进入Xcode > 设置 > 位置,确保「命令行工具」选择了当前安装的Xcode版本(而非空选项)。也可在Mac终端执行:xcode-select -p确认输出为Xcode的Developer目录(如
/Applications/Xcode.app/Contents/Developer),若路径错误,执行:sudo xcode-select -s /Applications/Xcode.app/Contents/Developer手动指定项目的DefaultSdkVersion参数
打开项目的.csproj文件,在iOS相关的PropertyGroup中添加或确认DefaultSdkVersion配置,值需与Mac上Xcode已安装的iOS SDK版本一致(可在Xcode的设置 > 平台中查看已安装版本):<PropertyGroup> <TargetFramework>net8.0-ios</TargetFramework> <SupportedOSPlatformVersion>16.0</SupportedOSPlatformVersion> <TargetPlatformMinVersion>16.0</TargetPlatformMinVersion> <DefaultSdkVersion>17.0</DefaultSdkVersion> <!-- 替换为你的iOS SDK版本 --> </PropertyGroup>重新配对VS2022与Mac构建主机
在VS2022中进入工具 > 选项 > Xamarin > iOS 设置,点击「配对到Mac」,重新建立连接,确保配对过程无报错。完成后重启VS2022并重新加载项目。清理深度缓存并重建
除删除本地bin、obj文件夹外,在Mac端删除远程构建缓存目录:rm -rf ~/Library/Caches/Xamarin/mtbs/builds/[你的项目名称]回到VS2022执行
生成 > 清理解决方案,再执行生成 > 重新生成解决方案。确认workload与Xcode版本兼容
在VS2022中打开工具 > 获取工具和功能,确保.NET MAUI及iOS相关workload为最新版本,且与Mac端Xcode版本兼容(如Xcode 15需搭配.NET 8的最新workload)。
内容的提问来源于stack exchange,提问作者David Shochet

