Visual Studio Preview 2022 for Mac无法修改部署目标 真机调试报错
VS 2022 for Mac Preview 真机部署报「设备OS版本低于部署目标」排查方案
注:新版SDK风格的.NET(含Xamarin、MAUI)项目,部署目标配置默认不写入info.plist、AndroidManifest文件,而是存在项目根目录的
.csproj配置文件中,在两个清单文件里找不到对应配置项是正常的,手动往清单里加字段也会被编译流程覆盖,不会生效。
第一步:在项目属性面板修正部署目标配置
VS for Mac Preview版本存在配置同步bug,不要依赖清单文件修改配置,直接从项目属性入口修改:
- 右键解决方案中对应平台的头项目(不要点共享项目,也不要点全局解决方案节点),选择「选项」
- 分别核对两个平台的配置:
- iOS端:进入
生成 > iOS 生成 > 部署目标,选择低于你设备15.4.1的版本,比如iOS 14.0即可,注意不要选中仅模拟器可用的版本号 - Android端:进入
生成 > Android 应用,先将「目标框架」选为Android 10(API 29)及以上版本,再将「最低Android版本」选为Android 9.0(API 28)及以下
- iOS端:进入
- 修改完成后先点「应用」保存,再关闭配置窗口
第二步:清理Preview版本异常缓存
VS 2022 for Mac Preview存在全局配置缓存bug,会默认将部署目标拉取到未正式发布的beta版系统,导致误判设备版本不满足要求:
- 完全退出Visual Studio,确保后台没有相关进程
- 打开访达,按
Command+Shift+G跳转路径,删除对应缓存内容:- 进入
~/Library/Caches/VisualStudio/17.0Preview/,清空该目录下所有文件 - 进入
~/Library/Application Support/VisualStudio/17.0Preview/,删除其中的ComponentModelCache文件夹
- 进入
- 打开你的项目根目录,删除所有子目录下的
bin、obj文件夹 - 重新打开VS,等待项目完全重载后再连接真机
第三步:核对真机连接状态
配置修改后仍报错的话,单独核对两个平台的真机连接有效性:
- iOS端:
- 打开Xcode,进入
Window > Devices and Simulators,选中连接的iOS设备,确认没有「设备版本不受当前Xcode支持」的提示,如果有提示先将Xcode升级到正式版,不要搭配beta版Xcode使用VS Preview - 确认手机上已经点过「信任此电脑」,iOS 15及以上版本需要手动在
设置 > 隐私与安全性 > 开发者模式打开开关,重启手机后才能正常调试
- 打开Xcode,进入
- Android端:
- 确认手机已经开启USB调试,USB连接模式选择「文件传输」,不要使用仅充电模式
- 打开VS的
工具 > SDK Manager,确认已经安装Android 10(API 29)对应的SDK平台和构建工具,缺失组件先安装完成再重启VS
第四步:兜底排查
如果以上步骤操作完仍有问题,按以下方式定位根因:
- 新建一个空白的对应类型模板项目,不做任何代码修改直接选择真机部署
- 如果空白项目可以正常部署到真机,说明原有项目的
.csproj文件存在硬编码的异常高版本配置,直接用文本编辑器打开.csproj文件,搜索MinimumOSVersion(iOS字段)、AndroidMinSdkVersion(Android字段),将异常的高版本值修改为你需要的版本即可(比如iOS设为13.0,Android设为28) - 如果空白项目也报相同的版本错误,说明当前安装的VS 2022 Preview版本存在已知的真机适配bug,降级到正式版通道的VS 2022 for Mac即可解决,Preview渠道目前对真机部署的适配存在多处未修复问题。
- 如果空白项目可以正常部署到真机,说明原有项目的
内容的提问来源于stack exchange,提问作者Atti
相关产品推荐
相关产品推荐

