Xamarin.Android 程序集之间的冲突

Xamarin.Android Conflict between assemblies

我在 Xamarin.Android 上遇到了一个荒谬的问题。 我正在用我的应用程序中的工具栏替换基本的 Actionbar。我想支持从 Android 4.0.4 到更新的 Android 版本。所以我安装了 Nuget 包 (Visual studio) 这个包:

Xamarin.Android.Support.v7.AppCompat 也安装了这个包:Xamarin.Android.Support.Fragment

没关系,但我使用这个包来扫描二维码和条形码:ZXing.Net.Mobile

错误:

FragmentStatePagerAdapter 存在于 'Xamarin.Android.Support.Fragment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 和 'Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'

所以我决定删除其中一个,但是 ZXing.Net.Mobile 使用 Xamarin.Android.Support.v4Xamarin.Android.Support.v7.AppCompat 使用 Xamarin.Android.Support.Fragment.

是否有针对此类问题的解决方案?

谢谢!

解决方案:

安装 Xamarin.Android.Support.v7.AppCompat 23.4.0.1 并在 Zxing 重定向包时升级。 2.4.0.1 = 2016 年 7 月 < 2016 年 9 月(包拆分,在第一个答案中解释)

答案是 ZXing.Net.Mobile 需要重新定位并使用 Xamarin.Android.Support.Fragment 包,因为 v4 包已拆分为多个包:

With this release, the v4 Support Library has been split into several smaller modules:

  • support-compat
  • support-core-utils
  • support-core-ui
  • support-media-compat
  • support-fragment

https://developer.android.com/topic/libraries/support-library/rev-archive.html