.NET Build命令突然失效?Mac上MAUI iOS调试遇启动错误
解决MAUI iOS
dotnet build -t:Run 报错问题 之前一直用这条命令在Mac上调试MAUI iOS应用:
dotnet build -t:Run -f net7.0-ios -p:_DeviceName=:v2:udid=0D52415F-8501-4DCF-81F1-84894971D9EB
最近突然失效,出现报错:
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/16.4.7099/targets/Xamarin.Shared.Sdk.targets(1830,3): error : The app must be built before the arguments to launch the app using mlaunch can be computed. [/Users/will/PathTo.csproj::TargetFramework=net7.0-ios]
不少开发者都碰到过这个问题,以下是几个实测有效的解决办法:
- 拆分构建与运行步骤:将
-t:Run拆成两步执行,先完成构建再触发运行,避免单次命令中构建不完整导致参数计算失败:dotnet build -f net7.0-ios dotnet build -t:Run -f net7.0-ios -p:_DeviceName=:v2:udid=0D52415F-8501-4DCF-81F1-84894971D9EB - 清理项目缓存:删除项目根目录下的
bin和obj文件夹,再重新执行命令,缓存文件损坏常会引发这类构建流程异常。 - 更新.NET MAUI SDK:旧版本的Microsoft.iOS.Sdk存在该已知问题,检查并更新到16.4.x后续补丁版本或更高大版本,通常能修复此报错。
- 指定输出目录:在命令中添加
-o参数明确构建产物路径,确保系统能正确识别应用文件位置:dotnet build -t:Run -f net7.0-ios -p:_DeviceName=:v2:udid=0D52415F-8501-4DCF-81F1-84894971D9EB -o ./bin/ios - 验证UDID有效性:通过
xcrun simctl list devices重新获取模拟器UDID,确认当前使用的UDID未因设备重启、重新配对等原因失效。
内容的提问来源于stack exchange,提问作者BuckBuchanan
相关产品推荐
相关产品推荐

