web-dev-qa-db-fra.com

Les paquets Nuget sont là mais il manque des références

Après la création de branches dans TFS, VS2015 Update 2 ne contient pas les références à tous les packages Nuget. La restauration du package indique "Tous les packages répertoriés dans packages.config sont déjà installés."

Je pourrais ajouter manuellement des références à tous les paquets dans le dossier\packages, mais pourquoi VS n’y at-il pas déjà vérifié?

40
Shiloh

Vous devez utiliser la ligne de commande NuGet dans la console du gestionnaire de packages:

Update-Package -reinstall

forcer la réinstallation des références de package dans le projet.

NuGet Restore ne restaure que les fichiers du répertoire des paquets (dossier\packages), mais ne restaure pas les fichiers de votre projet ni ne modifie autrement votre projet. Par exemple, si un paquet a ajouté des DLL de référence ou d'autres fichiers dans votre projet, si vous supprimez l'un de ces fichiers, ils ne seront pas rajoutés lors de la restauration de ce package. Cela pourrait empêcher votre projet de trouver les dépendances manquantes lors de la construction.

Utilisez donc la commande "Update-Package -reinstall" pour forcer la réinstallation des références de package et des fichiers de contenu dans le projet.

73
Leo Liu-MSFT

Cela a fonctionné pour moi:

  • Décharger le projet de la solution
  • Éditez le fichier csproj et supprimez les entrées de nuggets du fichier csproj (ItemGroup).
  • Reload proj
2
pabben

comme trouvé pour VS2013 par Shivam ( https://stackoverflow.com/a/46763556/103416 ), ma solution dans VS2017 consistait à vider le cache Nuget de: Options -> NugetPackageManager -> Effacer tout le cache NuGet (s)

2
stefano