升级OneSignal 4.0 SDK遇PCL Profile兼容问题(Visual Studio Mac 2022)
解决OneSignal 4.x SDK无法安装到PCL项目的问题
问题原因
OneSignalSDK.Xamarin 4.x 已彻底放弃对PCL(可移植类库)的支持,其NuGet包仅针对 netstandard2.0、MonoAndroid和Xamarin.iOS编译。这就是更换任意PCL Profile都无法完成安装的核心原因,而旧版3.x仍保留了PCL兼容。
解决方案
方案1:迁移PCL项目到.NET Standard 2.0(推荐)
PCL已被微软官方弃用,.NET Standard是后续的跨平台代码共享标准,也是OneSignal 4.x明确支持的方案:
- 新建一个**类库(.NET Standard)项目,目标框架选择.NET Standard 2.0
- 将原PCL项目中的共享代码迁移到这个新项目中
- 分别在该.NET Standard项目、iOS项目和Android项目中安装
OneSignalSDK.Xamarin 4.x - 让iOS和Android项目引用这个.NET Standard类库
方案2:降级到OneSignal 3.x版本(临时方案)
如果暂时无法迁移项目,可选择安装仍支持PCL的旧版本:
- 在NuGet包管理器中,选中
OneSignalSDK.Xamarin,点击版本下拉框,选择3.x系列的最新版本(如3.2.2)进行安装 - 注意:旧版本可能不再接收安全更新和新功能,长期来看不建议依赖
内容的提问来源于stack exchange,提问作者butters
相关产品推荐
相关产品推荐

