В поисках лучшего профиля PCL для кроссплатформенной разработки

Я работаю над расширением числа поддерживаемых платформ для моего приложения, оно раньше поддерживало .NET4 / Windows Store / Windows Phone, но я надеюсь также охватить Mono для Android и iOS. Я поместил всю бизнес-логику, модели и модели представлений в переносимые библиотеки классов (PCL), но это большая дилемма, на какое подмножество платформ я должен ориентироваться. Каждая комбинация вызывает что-то неудачное. Вот результаты для 4 платформ, которые я мог бы использовать:

Профиль 78 (NET45 + WP8 + Store): нет проблем с TPL, await / async и поддержкой атрибута CallerMemberName (используется в базовом классе модели представления BindableBase). Но проект Mono.Android, который ссылается на такую библиотеку, не может создать жалобу на несуществующий файл System.Runtime.dll, на который следует ссылаться.

Профиль 104 (NET45 + SL4 + WP75 + Store): await / async не работает, имя CallerMember не найдено, но если я удалю все ссылки на них, проект Android будет работать нормально.

Профиль 147 (NET403 + SL5 + WP8 + Store): await / async не работает, имя CallerMember не найдено, но если я удалю все ссылки на них, проект Android будет работать нормально.

Профиль 158 (NET45 + SL5 + WP8 + Store): await / async не работает, имя CallerMember не найдено, но если я удалю все ссылки на них, проект Android будет работать нормально.

Так что я не совсем уверен, что выбрать. Профили 78, 104, 147 ограничены, профиль 78 - единственный, который поддерживает как await / async, так и CallerMemberName, используемый BindableBase, но он не работает на Android с жалобой на System.Runtime.dll. Поэтому, если вы знаете, какой профиль PCL лучше всего подходит для PCL с таргетингом на Mono, поделитесь своими мыслями.

Ответы на вопрос(1)

Ваш ответ на вопрос