Xamarin Targetframeworkversion

时间:2017-08-30 06:56:34

标签: android xamarin visual-studio-2017

我正在尝试制作一个基本的Xamarin.forms(pcl)应用程序(在Visual Studio 2017中),我想要Target Lolipop(5.0.0,api level 21)。

所以我做了一个基本的Xamarin解决方案,我将Android属性全部调整为Android 5.0棒棒糖

  • 使用Android版本" Android 5.0(Lollipop)"进行编译
  • 目标最低Android" Android 5.0(API Level 21 - Lollipop)"
  • 目标Android版本" Android 5.0(API级别21 - 棒棒糖)"

不幸的是,在我的警告列表中,我得到以下内容

  

严重级代码描述项目文件行抑制状态   警告Xamarin.Forms.Platform.dll(v7.0)的$(TargetFrameworkVersion)大于项目的$(TargetFrameworkVersion)(v5.0)。您需要为项目增加$(TargetFrameworkVersion)。 Prolang.Android C:\ Projects \ Prolang \ Prolang \ Prolang.Android \ Prolang.Android.csproj

如果我谷歌这个错误大多数人说确实更新你的Android项目使用最新的Targetframework版本。但在我的情况下,我真的只想能够调用可用于21级Android 5.0 Lollipop的Api调用。因为我想要编译时安全网,我只使用Api级别21的Api Call。

对我而言,似乎我必须将我的xamarin.Forms dll降级为专门为Android棒棒糖制作的版本,因为我现在使用的版本目标是更高版本。

我应该降级我的xamarin.forms dll来实现这个并摆脱错误?如果我降级到我需要降级的版本,那么我的目标是Android 5.0 Lollipop?这些信息对我来说都很不清楚。

1 个答案:

答案 0 :(得分:1)

Xamarin.Forms是使用Android的支持库设计的,因此它可以在各种API上运行,而无需开发人员的任何其他操作。

如果您通过Xamarin.Android使用本机API(可以通过Forms' Dependency Service),那么您必须知道方法调用的API级别。

也就是说,由于Xamarin.Forms使用com.android.support.*库,您必须使用使用com.android.support:design:21.x.x的Forms版本以及API 21的相关Android构建工具。

现在,您可以查看包依赖项,然后您会看到您的选择是表单'是1.4

`1.4.0.6336-pre1` to `1.4.4.6449`

注意:v1.5.x已移至Android支持库的第22版

恕我直言使用表格1.4会因为它的年龄以及自2015年以来的改进和错误修复而出现了一个错误的错误:你好多了:

  • 使用最新的表格版本
  • Framework version设置为最新(7.1)
  • Target Android version设置为Android 5.0 (API Level 21)
  • Minimum Android version设置为您需要的任何内容......
  • 放弃编译时API检查
  • 通过API-21设备和模拟器检查运行时API问题