web-dev-qa-db-fra.com

package.config update ne met pas à jour les références

J'ai plusieurs projets référençant le même package NuGet. Lorsque j'ai reçu le dernier code, j'ai réalisé que l'un des projets contenait un package.config mis à jour ainsi qu'une référence mise à jour à la Dll fournie par ce package.

Maintenant, j'ai également mis à jour package.config sur d'autres projets en espérant que dès que je ferai une mise à niveau sur ce moteur NuGet, je le verrai et me récupérerai de nouvelles DLL. Eh bien, cela n’est pas arrivé. Après cela, j'ai essayé de suivre les choses et aucune d'entre elles n'a fonctionné:

  1. Suppression de l'ancienne version de DLL, puis restauration du package
  2. Suppression du dossier des packages, redémarrage de VS 2015 et restauration du package

Aussi, ce qui est amusant, c’est que, lorsque je vais dans Gérer les paquets Nuget et que je regarde le paquet pour lequel j’ai besoin d’une nouvelle DLL, cela montre qu’elle est déjà à la nouvelle version et que je n’ai pas besoin de la mettre à niveau.

Est-il possible d'obtenir du moteur NuGet la mise à niveau de ces packages?

12
Lost

La simple modification du fichier packages.config n'entraînera aucune modification de votre projet dans Visual Studio. De plus, NuGet restore ne modifie pas votre projet. La restauration NuGet télécharge simplement les packages NuGet et les rend disponibles pour votre projet.

Au lieu d'éditer le fichier packages.config, j'utiliserais simplement le gestionnaire de packages NuGet dans Visual Studio, ou la console de gestion des packages, pour mettre à jour le package NuGet dans les projets requis.

D'autres solutions incluent la mise à jour des fichiers de projet (.csproj) pour utiliser les références d'assembly mises à jour correctes. Vous pouvez également exécuter un Update-Package -reinstall pour forcer la désinstallation des packages NuGet, puis leur réinstallation dans les projets. Cela corrigera les références de l'Assemblée.

17
Matt Ward