MvvmCross 6.0与MonoDroid 8.0兼容问题咨询
问题解答
没错,你的判断完全正确——MvvmCross 6.0及以上版本确实不再支持MonoAndroid 8.0(API-26),如果你必须坚守这个旧目标框架,就只能降级使用MvvmCross的5.x系列版本。
具体原因
从MvvmCross 6.0开始,官方升级了依赖的Android Support库版本,而这些新版Support库本身就要求最低运行环境为MonoAndroid 8.1(API-27)。你遇到的错误提示:
Package MvvmCross.Droid.Support.Design 6.0.1 is not compatible with monoandroid80 (MonoAndroid,Version=v8.0)
本质就是这个依赖链的限制——MvvmCross的Android支持包绑定了更高版本的Support库,自然无法在低版本的目标框架上安装。
可行的解决方案
- 降级MvvmCross到5.x系列:这是最直接适配你现有环境的方案。比如选择
MvvmCross 5.7.0版本,它的所有Android相关包(包括MvvmCross.Droid.Support.Design)都兼容MonoAndroid 8.0。注意安装时要确保所有MvvmCross相关包的版本统一,避免因版本不一致引发其他兼容性问题。 - 尝试升级项目目标框架到8.1(API-27):虽然你的测试设备是Android 8.0,但Android项目的目标框架高于设备系统版本通常是可以兼容运行的(只要你没有调用API-27特有的功能)。你可以先尝试升级项目框架,再测试在旧设备上的运行情况,说不定能绕过这个限制。
额外提醒
如果你选择降级到MvvmCross 5.x,需要注意这个版本已经停止维护,后续不会有bug修复或新功能更新,但对于满足现有项目的基本需求来说,它依然是稳定可用的。
内容的提问来源于stack exchange,提问作者AbsoluteSith
相关产品推荐
相关产品推荐

