Poszukiwanie najlepszego profilu PCL dla rozwoju wieloplatformowego

Pracuję nad rozszerzeniem liczby obsługiwanych platform dla mojej aplikacji, wcześniej wspierałem .NET4 / Windows Store / Windows Phone, ale mam nadzieję, że obejrzę także Mono na Androida i iOS. Umieściłem całą logikę biznesową, modele i modele widoków w przenośnych bibliotekach klasy (PCL), ale jest to duży dylemat, jaki podzbiór platform powinienem kierować. Każda kombinacja powoduje niepowodzenie. Oto wyniki dla 4 platform, których mogę użyć:

Profil 78 (NET45 + WP8 + Store): nie ma problemu z TPL, czekaj / async i wsparcie dla atrybutu CallerMemberName (używane w klasie bazowej widoku modelu BindableBase). Ale projekt Mono.Android, który odnosi się do takiej biblioteki, nie udaje się narzekać na nieistniejący System.Runtime.dll, do którego należy się odwoływać.

Profil 104 (NET45 + SL4 + WP75 + Store): await / async nie działa, nazwa CallerMember nie została znaleziona, ale jeśli usunę wszystkie odniesienia do nich, projekt systemu Android będzie działać poprawnie.

Profil 147 (NET403 + SL5 + WP8 + Store): await / async nie działa, nazwa CallerMember nie została znaleziona, ale jeśli usunę wszystkie odniesienia do nich, projekt systemu Android będzie działać poprawnie.

Profil 158 (NET45 + SL5 + WP8 + Store): await / async nie działa, nazwa CallerMember nie została znaleziona, ale jeśli usunę wszystkie odniesienia do nich, projekt systemu Android będzie działać poprawnie.

Więc nie jestem pewien, co wybrać. Profile 78, 104, 147 są ograniczone, profil 78 jest jedynym, który obsługuje zarówno await / async, jak i CallerMemberName używanym przez BindableBase, ale nie działa na Androida skarżącym się na System.Runtime.dll. Jeśli więc masz doświadczenie z tym, który profil PCL najlepiej pasuje do PCL kierowanego na Mono, podziel się swoimi przemyśleniami.

questionAnswers(1)

yourAnswerToTheQuestion