5
votes

La mise à jour de Xamarin Forms génère une erreur «configuration de la bibliothèque de prise en charge Android non valide» lors de la création.

J'ai mis à jour Xamarin Forms vers 3.4.0 sur un projet Android Xamarin Forms qui fonctionnait correctement. Maintenant, j'obtiens cette erreur lors de la tentative de construction. L'erreur est "configuration de la bibliothèque de support Android non valide" et quand je regarde ma console de package, je vois ceci ...

 entrez la description de l'image ici

... disant que certains de mes packages Xamarin.Android.Support.xxx nécessitent un package rétrogradé pour des raisons de compatibilité. Le problème est que mon projet ne contient aucun de ces packages comme vous pouvez le voir dans mon dossier "Packages" ici ...

 entrez la description de l'image ici

Qu'est-ce que je manque ou que fais-je mal?


3 commentaires

Veuillez ne pas publier d'images de code. Les images de code ne sont pas appropriées sur StackOverflow . Vous avez accès au texte en clair; veuillez copier et coller le code dans votre question.


Aucune des images n'est du code. Il s'agit de texte non copiable à partir de la sortie et des fichiers de la console.


La première image est la sortie de la console en texte brut. Vous pouvez copier la sortie de votre console et la coller dans votre question. La deuxième image est une liste de répertoires. Vous pouvez copier la sortie de ls | tr '\ n' '\ n' et collez-le dans votre question.


3 Réponses :


10
votes

Cela peut se produire si vous mettez à jour TOUS les packages nuget dans un projet Android Xamarin.Forms.

Xamarin.Forms a des dépendances spécifiques sur des versions spécifiques des bibliothèques Xamarin.Android.Support, et si vous mettez à jour TOUS les packages nuget dans le projet Android, les bibliothèques de support peuvent mettre à jour vers des versions ultérieures aux versions que le nouveau La version de Xamarin.Forms prend en charge.

À ce stade, je désinstallerais le package Xamarin.Forms du projet Android et désinstaller également tous les packages de bibliothèque de support dépendants, qui sont répertoriés ici sous "Dépendances": https://www.nuget.org/packages/Xamarin.Forms/

Donc dans Android projet, désinstallez les nugets suivants:

Xamarin.Forms
Xamarin.Android.Support.Design 
Xamarin.Android.Support.v4 
Xamarin.Android.Support.v7.AppCompat 
Xamarin.Android.Support.v7.CardView 
Xamarin.Android.Support.v7.MediaRouter 

Une fois désinstallé, réinstallez simplement Xamarin.Forms et les versions correctes des packages de support doivent être réinstallées.

À l'avenir, il suffit de mettre à jour les packages Xamarin.Forms et cela mettra automatiquement à jour les packages de bibliothèque de support si nécessaire, et ne mettra pas à jour les bibliothèques de support si les nouvelles versions de bibliothèque de support ne sont pas prises en charge par la mise à jour de Xamarin .Version des formulaires.


4 commentaires

Si sa version spécifique dépendante ne doit pas dire = plutôt que > =


Oui, ce serait idéal. Cependant, il n'existe aucun moyen de savoir à l'avance si une nouvelle version des bibliothèques de prise en charge interrompra Xamarin.Forms pour Android ou non. Le fait est qu'il est préférable de laisser Xamarin.Forms mettre à jour ses dépendances lorsque vous mettez à jour le package Xamarin.Forms, plutôt que de mettre à jour manuellement les dépendances.


J'ai ce problème avec un projet Xamarin.Android (non XF).


En 2020, le référencement manuel des versions correctes de Xamarin.Android.Support dans votre .csproj a fonctionné pour moi après 3 heures. En suivant ce tutoriel ( redth.codes/... )



0
votes

La mise à jour de Xamarin.Forms et de toutes les bibliothèques * .Support. * vers la dernière version a fonctionné pour moi.


0 commentaires

0
votes

Vous avez un problème de compatibilité de version, si vous avez récemment mis à jour certains packages, vous devez vous rendre dans le gestionnaire de packages "NuGet / Update", vous trouverez tous les packages Xamarin à mettre à jour.


0 commentaires