【发布时间】:2016-11-19 01:15:53
【问题描述】:
我有一个大约两年前的 Xamarin.Android 项目。我想更新项目以支持 Android API 级别 24,并将选项窗格中的“目标 SDK”设置为所述级别。我还需要使用 Android 支持库的 24.2.1 版本来支持运行时权限。我目前正在使用 22.2.1 版的支持库。这显然不包括运行时权限检查。
我尝试通过右键单击包并选择更新,使用正常方法将支持库更新到版本 24.2.1。但是,当我这样做时,会出现以下错误。
Could not install package 'Xamarin.Android.Support.Compat 24.2.1'. You are trying to install this package into a project that targets 'MonoAndroid,Version=v4.4', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
我已确保我在项目中使用的所有共享项目和库都设置为使用最新的可用 SDK,即版本 7.0 (API 24)。同样,我确保我的项目中的目标 SDK 版本设置为版本 7.0 (API 24)。但是,如果我设置“自动”版本选项,那么 Xamarin 会告诉我版本是 4.4 (API 19)。
花了几个小时查看我项目中的每个包、引用和组件后,它是一个相当大的项目,我发现 Mono.Android 版本说它支持 Android 4.4。我认为这一定是阻止我的项目使用 7.0 版 SDK 编译的罪魁祸首。 (请看下面的截图)。
我继续使用 Xamarin 中的普通“添加项目”方法创建了一个全新的项目,当我这样做时显示以下内容。
正如您在屏幕截图中看到的,较新的测试项目显示它支持 v7.0,当我在选项窗格中设置自动目标时,它正确显示为 Android 7.0 (API 24)。此外,我还可以在项目中导入 Android 支持库 v4 版本 24.2.1。
我想我的问题是,除了创建一个全新的项目并移动所有代码文件之外,有没有人曾经遇到过这个问题并找到了解决方案?有没有办法更新 Mono.Android 包?我在包管理器或参考菜单中看不到这样做的方法。
【问题讨论】:
-
您将
Target SDK与TargetFrameworkVersion混淆了。在这里查看我的答案:stackoverflow.com/questions/40308329/… 随意忽略此博客以查看差异:redth.codes/such-android-api-levels-much-confuse-wow -
啊,明白了。我不敢相信我没有看到那个选项。无论如何,这解决了我的问题。请添加您的上述评论作为答案,以便我接受。得到你的积分:)
标签: android xamarin xamarin.android