web-dev-qa-db-fra.com

Impossible de restaurer/supprimer/mettre à jour un paquet NuGet car la version mentionnée n'est plus disponible

J'essaie de donner à SignalR Sample un lecteur de test, mais il semble qu'il fasse référence à une ancienne version de SignalR qui n'est plus disponible. Le problème actuel est que NuGet ne peut pas supprimer le paquet indisponible sans le restaurer au préalable !!!

PM> Install-Package Microsoft.AspNet.SignalR
Install-Package : Some NuGet packages are missing from the solution. The packages need to be restored in order to build the dependency graph. Restore the packages before performing any operations.
At line:1 char:1
+ Install-Package Microsoft.AspNet.SignalR
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetMissingPackages,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Ensuite, il y aura un bouton Restore sur le Package Manager Console qui entraînera l'erreur suivante:

An error occurred while trying to restore packages: Unable to find version '2.1.0-pre-131116-b279' of package 'Microsoft.AspNet.SignalR.Client'

Comment puis-je installer une version plus récente d'un paquet adressé si la version actuelle ne peut pas être trouvée?

J'utilise: 

Microsoft Visual Studio Community 2015
Version 14.0.24720.00 Update 1
Microsoft .NET Framework
Version 4.6.01038
NuGet Package Manager   3.3.0

[METTRE À JOUR]

Lorsque j'essaie de désinstaller le paquet problématique:

PM> Uninstall-Package -Id Microsfot.AspNet.SignalR -RemoveDependencies -Force
Uninstall-Package : Some NuGet packages are missing from the solution. The packages need to be restored in order to build the dependency graph. Restore the packages before performing any operations.
At line:1 char:1
+ Uninstall-Package -Id Microsfot.AspNet.SignalR -RemoveDependencies -F ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Uninstall-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetMissingPackages,NuGet.PackageManagement.PowerShellCmdlets.UninstallPackageCommand
26
Mehran

Vous pouvez supprimer manuellement la dépendance en:

  1. Fermez Visual Studio (pas obligatoire, mais utile)
  2. Dans l'éditeur de texte, supprimez la dépendance de packages.config
  3. Supprimer le package de packages/directory
  4. Dans l'éditeur de texte, supprimez toutes les références au package du fichier .csproj
  5. Démarrer Visual Studio
  6. Réinstallez le paquet via NuGet
26
Joe Hawkins

Il existe une solution plus simple si vous connaissez les versions existantes du flux. Cette solution peut réparer chaque paquet dans chaque projet.

  • Ouvrez le fichier packages.config (si vous avez plusieurs projets, faites-le pour chaque fichier packages.config)
  • Mettre à jour les versions aux versions correctes (c'est-à-dire changer l'attribut de version)
  • Dans la console du gestionnaire de packages, tapez Update-Package -Reinstall

J'espère que ça aide

8
ferarias

Ce qui fonctionne pour moi c'est:

1. Allez dans le fichier packages.config,

2. Recherchez "... id =" Microsoft.AspNet.SignalR.Client "version =" "targetFramework =" net45 "..." 

3. Passez à une version existante, dites "2.2.0". 

4. Enregistrer.

5. Accédez à Nuget et mettez-le à jour.

1
Yh Zheng

Mentionné par @ferarias dans un commentaire - si vous utilisez nuget.exe, essayez de le mettre à jour ou de télécharger la dernière version .

Pour moi, la mise à niveau de v4.4.1 à v4.6.2 était suffisante pour corriger l'erreur Some NuGet packages are missing.

1
Dunc