web-dev-qa-db-fra.com

Le paquet Nuget ... n'existe pas dans le projet ... Le paquet ... existe déjà dans le dossier

Je me bats avec cette erreur depuis plusieurs heures et je ne parviens pas à trouver une solution qui fonctionne.

J'ai une API ASP.Net au sein d'une solution multi-projets dont les références/dépendances sont mal configurées et j'essaie de la corriger depuis deux jours.

Le problème est (je crois) qu'il manque à l'API System.Web.Http/System.Web.Http.WebHost qui est apparemment inclus avec Microsoft.AspNet.WebApi.Core (pour plusieurs autres questions relatives au dépassement de capacité). Lorsque j'essaie de l'installer via Nuget, l'erreur suivante apparaît lorsque je tente de résoudre la dépendance. De plus, j'ai toujours cette erreur (voir mon dépannage plus loin dans cette question):

 Screenshot of Package Manager Console

J'ai effectué les étapes suivantes sans ordre particulier (plusieurs fois, chacune avec différentes combinaisons):

  • Exécutez 'Update-package Microsoft.AspNet.WebApi.Core -reinstall'
  • Supprimez le dossier "Packages" à l'échelle de la solution, supprimez le fichier packages.config du projet et tentez de restaurer les packages.
  • Supprimer le projet entier du lecteur physique et du système de fichiers TFS et le recréer à partir de zéro (il crée avec les références incorrectes)
  • Installez le package à la fois via la ligne de commande et l'interface graphique de Nuget
  • Examinez la solution à différents emplacements sur mon disque dur afin de commencer le plus frais possible
  • Redémarrer mon ordinateur/Redémarrer Visual Studio

À ce stade, je vais bien avec un correctif non-propre, tant que cela le corrige. L'API fonctionnait à un moment donné, mais je l'ai ensuite vérifiée dans TFS, j'ai créé une branche et je travaille maintenant sur la branche. Certaines dépendances n'ont peut-être pas été incluses (?), Mais même si c'était le cas, il semble que les mesures que j'ai prises devraient résoudre le problème.

18
Nex Terren

Fermez la solution, puis accédez au dossier des packages sur votre disque dur et supprimez tout son contenu. Ouvrez à nouveau votre application dans Visual Studio et celui-ci tentera automatiquement de restaurer les packages. Nettoyez la solution et construisez-la.

7

Effacer le cache a résolu le problème pour moi. Il existe une option pour vider le cache sur Outils> Options> Gestionnaire de paquets NuGet> Général menu, appelé Effacer tout le (s) cache (s) NuGet .

Essayez ceci .. Il a résolu mon problème .. J'ai tout essayé ci-dessus sans aucune chance.

Aller à OUTILS> Gestionnaire NuGet Pacakage> Paramètres du gestionnaire de paquets 

Cliquez sur le bouton "Effacer tous les caches NuGet"

2
Newbie

Tout d’abord, désinstallez le paquet NuGet spécifique via la console du gestionnaire de paquets.

Ensuite, veuillez décharger le projet pour lequel ce paquet de nuggets a été référencé par un clic droit -> Décharger le projet.

Après le déchargement, cliquez avec le bouton droit de la souris sur le projet et sélectionnez "Modifier {Nom du projet} .csproj".

Recherchez l'entrée de package NuGet dans le XML où vous l'avez précédemment désinstallée et supprimez-la.

Réinstallez le paquet à partir de la console du gestionnaire de paquets ...

1
Antho

Aucune des autres réponses n'a fonctionné pour moi. Il a continué dans une boucle sans fin d'installation, de restauration, de redémarrage de VS, sans jamais progresser. 

Ce que j'ai fini par devoir faire était:

  1. Fermer VS.
  2. Supprimez les packages en cause du dossier des packages.
  3. Modifiez le fichier packages.config manuellement, en ajoutant les noms et les versions des packages que je devais installer. 
  4. Lorsque j'ai rouvert la solution, j'ai cliqué avec le bouton droit de la souris sur le projet, sur "gérer les packages NuGet" et sur le bouton "Restaurer" figurant sur la bannière. Cela a installé les paquets qui ont refusé de l’installer.

Pour pleurer à chaudes larmes! Microsoft doit tirer un enseignement de yarn sur la manière de gérer correctement les packages.

0
NH.