MvvmCross – tratando de utilizar Fragmentos Y el último soporte lib resulta en vincular problemas

Me gustaría usar el SlidingPaneLayout o DrawerLayout, pero estos requieren una nueva biblioteca de soporte. Xamarin tiene uno en el almacén de componentes (Android Support Library v4 (Rev 18).

Pero si trato de usar esto Y utilizar el soporte Mvvm Fragmentos (que requiere una referencia a Mono.Android.Support.v4) Tengo errores de vinculador como este:

error : Duplicate managed type found! Mappings between managed types and Java types must be unique. First Type: 'Android.Support.V4.App.FragmentManager/IOnBackStackChangedListenerImplementor, Xamarin.Android.Support.v4-r18, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'; Second Type: 'Android.Support.V4.App.FragmentManager/IOnBackStackChangedListenerImplementor, Mono.Android.Support.v4, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065' 

La eliminación de la biblioteca de soporte antiguo resultados de referencia en un error de vinculador diferente;

Error CS0012: El tipo Android.Support.V4.App.FragmentActivity' is defined in an assembly that is not referenced. Consider adding a reference to assembly Android.Support.V4.App.FragmentActivity' is defined in an assembly that is not referenced. Consider adding a reference to assembly Mono.Android.Support.v4, Version = 0.0.0.0, Culture = neutral, PublicKeyToken = 84e04ff9cfb79065 '

Creo que este es un problema general causado por Xamarin rebranding una asamblea de 'Mono' a 'Xamarin'.

Las asambleas de terceros como MvvmCross y otros como el componente de servicios de Google Play actualmente se enlazan con el conjunto denominado Mono que se envía con Xamarin.Android (anteriormente Mono para Android).

Actualmente, MvvmCross no puede cambiar su enlace al ensamblado denominado 'Xamarin' sin quitar la compatibilidad con Maps v2 a través del componente de Google Play. Tenemos más usuarios demandando soporte para mapas y luego demandando soporte para el cajón de navegación en la última biblioteca de soporte .


Si alguien necesita vincularse con el conjunto denominado 'Xamarin', entonces necesitará alguna forma de redireccionar ensamblajes para trabajar con el nombre cambiado. Las maneras que sé de hacer esto son:

  • En la red completa. Creo que puedes hacer esto usando 'redirecciones de enlace' en un archivo app.config, pero no creo que estos estén disponibles en Xamarin.Android.
  • En su lugar podría ser capaz de hacer los redireccionamientos utilizando un monumento "Mono.Android.Support.v4" que contiene sólo [TypeForwardedTo] declaraciones de tipos – generando esto sería un poco tedioso, pero debería funcionar. Intenté generar un montaje de TypeForwardTohttps://gist.github.com/slodge/6790040 – pero pienso que el hecho de que Xamarin ha utilizado el nombre fuerte de la asamblea significa que no puedo conseguir esto para trabajar: / Xamarin podría poder ¿aunque?
  • Podría forjar y reconstruir el conjunto MvvmCross 'Fragging' existente – no es grande – para que haga referencia al componente denominado 'Xamarin'. También necesitará hacer esto para cualquier otro ensamblado que necesite: por ejemplo, Google Play para mapas.
  • Monodroid - Manejo de eventos en las vistas secundarias de filas ListView reutilizadas
  • ¿Cómo puedo cambiar colores en mi StateListDrawable?
  • No se pueden analizar los datos xml a listview en xamarin android
  • Cómo cambiar los colores de la forma en Drawable?
  • Cuál es la diferencia entre Java.Net.Uri y Android.Net.Uri
  • ¿Incompatibilidades de la capa de servicio MonoTouch / MonoDroid?
  • Golpe de Monodroid
  • Clase de clase de aplicación personalizada en Mono para Android
  • GetAllNetworkInterfaces () lanza la excepción
  • No se puede usar el diseño de ScrollView dentro de SlidingUpPanelLayout Xamarin Android
  • No se puede depurar Xamarin aplicación de Android en VS con ADB
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.