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 ?
|
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 |
|
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!