2017-09-13 1 views
0

J'ai mis à jour MVVMCross 5.1.1 à 5.2.0 dans un exemple de projet (TipCalc) avec Android et UWP. Nuget a offert cette mise à jour que je viens de mettre à jour en utilisant la vue des puces VS2017. Après que ces deux choses se soient produites: Le concepteur UPW me dit que les vues: MvxWindowsPage n'existe pas dans l'espace de noms MvvmCross.Uwp.Views. Donc, je n'ai plus de concepteur fonctionnel.Comment mettre à jour MVVMCross de 5.1.1 à 5.2.0

Reconstruire amène à ces avertissements

...TipCalc.UI.Droid.csproj : warning XA0105: The $(TargetFrameworkVersion) for MvvmCross.Binding.Droid.dll(v7.0) is greater than the $(TargetFrameworkVersion) for your project(v6.0). You need to increase the $(TargetFrameworkVersion) for your project. 
...TipCalc.UI.Droid.csproj : warning XA0105: The $(TargetFrameworkVersion) for MvvmCross.Droid.dll (v7.0) is greater than the $(TargetFrameworkVersion) for your project(v6.0). You need to increase the $(TargetFrameworkVersion) for your project. 
...TipCalc.UI.Droid.csproj : warning XA0105: The $(TargetFrameworkVersion) for MvvmCross.Platform.Droid.dll (v7.0) is greater than the $(TargetFrameworkVersion) for your project(v6.0). You need to increase the $(TargetFrameworkVersion) for your project. 

À partir sur l'émulateur se bloque l'application. Le projet droid est défini sur Marshmellow (6.0). La version MVVMCross 5.2 a-t-elle besoin de Lollipop (7.0) - ou ai-je eu quelque chose de mal lors de la mise à jour de la version 5.2?

+0

Redémarrage VS résolu le problème UWP - mais Android existe toujours – ManniAT

Répondre

1

Vous devez installer le SDK Android 7.0 à l'aide du gestionnaire de SDK. Votre application doit également être configurée pour être compilée avec la dernière version, elle devrait donc être récupérée automatiquement. MvvmCross utilise les dernières bibliothèques de support Android, et celles-ci utilisent le SDK 7,0.

+0

Je pourrais passer à la version 7.0 - mais je veux cibler 6.0 puisque mon application devrait également fonctionner sur les appareils plus anciens. Mon problème est si cela est "par conception" ce qui signifierait que si j'utilise la dernière version de MVVMCross je ne peux plus cibler les dispositifs 6.0 ... – ManniAT

+1

Non - vous pouvez utiliser des périphériques plus anciens lors de la compilation contre 7. Définir la version android minimum à tout ce qui est le plus bas que vous voulez supporter, compilez (framework cible) pour utiliser la dernière version, et la version cible selon la plate-forme que vous jugez la plus appropriée (normalement je la laisse utiliser la version compile). Il y a de bons docs sur https://developer.xamarin.com/guides/android/application_fundamentals/understanding_android_api_levels/ – JimBobBennett

+0

merci pour les explications. Je suis juste confus par deux choses. Tout d'abord le fait que la mise à jour de MvvmCross a soulevé une version supérieure d'Android - et ensuite la circonstance, que "min/target/compile" n'est plus sur une page comme souvent vu dans les blogs/documentation. Au lieu de compiler est sur l'onglet Application tandis que Min/cible est sur l'onglet Manifeste. De toute façon - tout fonctionne bien maintenant! – ManniAT