Une solution avec Xamarin.Forms 2 et 3 en même temps, possible, mais pas facile

Dane une même solution, il est possible de faire cohabiter des projets exploitant les versions 2 et 3 de Xamarin.Forms (pour une ancienne version de Windows 10 ou Windows Mobile 10).

Lors du debug Visual Studio, ne va pas aimer. Vous risquez d’avoir d’un des messages d’erreur suivants :

Error : Xamarin.Forms tasks do not match targets. Please ensure that all projects reference the same version of Xamarin.Forms, and if the error persists, please restart the IDE.


Error MSB4062 : The "Xamarin.Forms.Build.Tasks.FixedCreateCSharpManifestResourceName" task could not be loaded from the assembly C:\Users\jeremy\.nuget\packages\xamarin.forms\2.5.1.527436\build\netstandard1.0\Xamarin.Forms.Build.Tasks.dll. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.

Ceci est lié au fait que Visual Studio se retrouve avec deux librairies différentes pour le tooling Xamar.Forms.

Comment s’en sortir ?

Pour éviter ce type de désagrément, il faut comprendre que Visual Studio est en difficulté quand on change de contexte de travail. De Xamarin.Forms 2 à 3 ou de 3 à 2.

Pour ne plus avoir de message d’erreur :

  • Il suffit de fermer Visual Studio.
  • On peut ensuite l’ouvrir à nouveau et procéder au test de son application.

Si les erreurs se produisent à nouveau :

  • Il faut sélectionner le projet que l’on veut tester et le définir comme projet de lancement.
  • Fermer Visual Studio
  • L’ouvrir (et voilà !)

À noter que la compilation de la solution de pose pas de problèmes tant que l’on ne lance pas l’exécution d’un projet.

Moralité

Il n’est pas toujours drôle de maintenir une application pour d’anciennes plateformes, mais cela fait partie des joies du métier

Jérémy Jeanson

Comments

You have to be logged in to comment this post.