Buscando el mejor perfil PCL para el desarrollo multiplataforma

Estoy trabajando en ampliar la cantidad de plataformas compatibles con mi aplicación, que solía ser compatible con .NET4 / Windows Store / Windows Phone, pero espero que también cubra Mono para Android e iOS. He puesto toda la lógica de negocios, modelos y modelos de vista en bibliotecas de clases portátiles (PCL), pero es un gran dilema a qué subconjunto de plataformas debería dirigirme. Cada combinación hace que algo falle. Aquí están los resultados para 4 plataformas que podría usar:

Perfil 78 (NET45 + WP8 + Store): no hay problema con TPL, aguarda / async y admite el atributo CallerMemberName (utilizado en la clase base del modelo de vista BindableBase). Pero el proyecto Mono.Android que hace referencia a dicha biblioteca no puede generar quejas sobre System.Runtime.dll no presente al que se debe hacer referencia.

Perfil 104 (NET45 + SL4 + WP75 + Store): await / async no funciona, no se encuentra el nombre de CallerMember, pero si elimino todas las referencias a ellos, el proyecto de Android funciona bien.

Perfil 147 (NET403 + SL5 + WP8 + Store): await / async no funciona, no se encuentra el nombre de CallerMember, pero si elimino todas las referencias a ellos, el proyecto de Android funciona bien.

Perfil 158 (NET45 + SL5 + WP8 + Store): await / async no funciona, no se encuentra el nombre de CallerMember, pero si elimino todas las referencias a ellos, el proyecto de Android funciona bien.

Así que no estoy muy seguro de qué elegir. Los perfiles 78, 104, 147 son limitados, el perfil 78 es el único que admite tanto await / async como a CallerMemberName que usa BindableBase, pero falla en Android quejándose de System.Runtime.dll. Entonces, si tiene una experiencia con qué perfil PCL es la mejor opción para PCL orientada a Mono, comparta sus opiniones.

Respuestas a la pregunta(1)

Su respuesta a la pregunta