Xamarin, ASP.NET Core où sont les NuGets c'est la stupéfaction !

Vous avez sauté le pas de l'ASP.NET Standard et vous êtes maintenant avec ASP.NET Core vous n'hésitez plus maintenant que votre Visual Studio est configuré avec les émulateur d'Android à générer des applications pour Xamarin mais vous avez encore un problème avec les packages NuGets et là ... C'est la stupéfaction !

En effet, je prend le temps d'écrire ce post car je suis maintenant obligé de résoudre ce problème ! Je m'intéresse aux Samples avec Xamarin. Par le passé j'avais écris ASP.NET Core où sont les NuGets ?

https://forums.xamarin.com/
Xamarin Forum
Maintenant si je créé un nouveau projet Xamarin avec mon Visual Studio, les Nugets sont dans :

C:\Users\Xxxx\.nuget\packages

C'est la CATA Totale !

En effet les Nugets dépendent du type d'application dépendent également de leur propre version, ils sont donc très fortement liés au projet et ne peuvent en aucun cas être communs à tous les projets. Je ne comprends pas totalement pourquoi ma plateforme de développement est configurée ainsi Est-ce lors de l'installation de Visual Studio ?

Il faut trouver le moyen de mettre ces foutus NuGets par projet ... Je pars donc à la recherche d'une solution.

I'll be back!

Recherche rapide de solution, on me dit :

Comment puis-je mettre à jour mes NuGets ?

Et quand je fais ça, j'obtiens :


Visual Studio -> Outils -> Extensions et mises à jour -> mises à jour -> Error 503 Service Unavailable

Error 503 Service Unavailable

Whaou la merde !!!

En bas de la fenêtre je vois "Changer les paramètres de vos extensions et mise à jour" je clique dessus ...

ça sert à rien mais on est pas loin
En effet en dessous je vois :


Options -> Gestionnaire de package Nuget
Gestionaire de packages NuGet
Options -> Gestionnaire de package Nuget
Bon, tout ça ne sert à rien mais bon ... on va finir par y arriver.

Faire migrer packages.config vers PackageReference...

Tient qu'elle drôle cette possibilité, en cliquant droit sur le fichier package.config d'une ancienne solution Xamarin qu'elle n'est pas ma surprise :

Faire migrer packages.config vers PackageReference...
Je trouve cette possibilité dans une application dont les packages sont gérés par des fichiers package.config. Cette option apparait quand on clique droit sur le fichier.

Tient tient, j'essaye je clique :


Faire migrer packages.config vers PackageReference... Xamarin.Android
Je clique sur : M'aider à effectuer la migration vers PackageRefernce NuGet

Migrate from packages.config to PackageReference
Et là on m'explique les bénéfices et les limitation que j'ai à passer au PackageReference !? Exactement le contraire de ce que j'écrivais au début de ce post c'est à dire que les ingé de Redmond prennent à contre pied l'utilité des packages gérés dans le répertoire "packages" lié à une solution.

Managing the global packages, cache, and temp folders
Et là on me dit enfin tout sur cette nouvelle façon de gérer les NuGets Packages, franchement c'est du foutage de gueule non ?

Et pour finir on vous explique même comment revenir en arrière :

How to roll back to packages.config
On nous apprend que le processus de migration vers PackageReference à sauvé le fichier package.config qui vous permet de revenir en arrière.

Franchement que dire, que faire nous ne sommes que de petites choses, le principal est de trouver le bon chemin, le moins pénible pour arriver au bout du projet.


Références avant PackageReference
Une fois le passage à PackageReference effectué les nouvelles références se présentent ainsi :


Passage à PackageReference effectué
Voilà, encore une désagréable surprise avec la gestion des NuGets. Décidément on peut préférer la gestion façon GAC ou DLL d'antan. Il n'y a rien de facile rien de simple dans tout ça.

Have fun!

Aucun commentaire:

Publier un commentaire

Pour plus d'interactivité, n'hésitez pas à laisser votre commentaire.