Source inaccessible lors de l'utilisation de la console du gestionnaire de packages NuGet

153

Nous déplaçons notre gestion des packages de la mise à jour manuelle des fichiers vers NuGet. J'essaye d'installer d'anciennes versions de packages pour correspondre à celle que nous avons déjà dans le contrôle de code source. Il n'y a aucun moyen de le faire à partir de l'interface utilisateur, j'utilise donc la ligne de commande pour obtenir la version appropriée.

Pour une raison quelconque, Install-Packagecontinue de me dire que la galerie de pépites est inaccessible.

La source sur nuget.org [ https://www.nuget.org/api/v2/] est inaccessible. Revenir au cache local NuGet

Cela ne se produit que dans l'une de nos solutions. Si je crée une nouvelle solution ou en utilise une autre dans le même référentiel, les packages s'installeront comme prévu. Je peux même installer les packages dans une solution factice pour remplir le cache local, puis les installer avec succès dans la solution défectueuse. J'ai essayé Invoke-WebRequestsur l'url de la console NuGet et j'obtiens un HTTP 200.

Qu'est-ce qui peut causer cela? Existe-t-il un moyen de remplacer les sources du package par solution / projet?

Etienne Maheu
la source
3
J'ai ce même problème. J'ai installé la mise à jour 2 de VS 2013 hier, c'est peut-être un nouveau bogue ...? Btw, je peux installer n'importe quel package via la boîte de dialogue "Gérer les packages NuGet" sans problème, ce problème se produit uniquement sur la console du gestionnaire de packages.
rsenna le
2
J'ai le même problème. Fonctionne toujours dans la boîte de dialogue Gérer les packages - ne fonctionne jamais dans la console du gestionnaire de packages.
David Tansey
10
Le redémarrage de Visual Studio a résolu ce
problème

Réponses:

338

Même si ma source de package était définie sur nuget.org dans la console du gestionnaire de package, l'ajout explicite de l' -Source nuget.orgargument a résolu ce problème pour moi.

Un exemple d'utilisation serait donc:

Install-Package Akka.net -Source nuget.org

Akka.net étant votre package que vous souhaitez installer, c'est juste un exemple ici.

ruban adhésif
la source
1
J'ai redémarré mon PC et Visual Studio. mais .. ajouter -Source nuget.org a en effet fait l'affaire pour ma nouvelle instance .vbproj dans mon multi-projet existant .sln
bkwdesign
Où ajouter cet argument et comment? Pouvez-vous s'il vous plaît donner plus d'informations.
Radenko Zec
Cela a également fonctionné pour moi (en ce moment, en fait!). J'essayais d'installer une ancienne version de jQuery, mais cela continuait à soulever l'erreur: "La source sur nuget.org [ nuget.org/api/v2/] ". Je ne sais pas comment y remédier.
Loudenvier
merci, j'ai fait de cette façon:Install-Package jQuery.UI.Combined -Source nuget.org
shaijut
7
Avez-vous une idée de comment cela fonctionne? Je suis juste curieux car cela n'a aucun sens pour moi même si cela fonctionne. Donc l'erreur dit que la source sur nuget.org [ nuget.org/api/v2/] est inaccessible et alors je spécifie la même source -Source nuget.orget cela fonctionne?
Vladimirs
10

J'ai dû copier la source NuGet par défaut dans les options de Visual Studio. Avec la source copiée, j'ai changé l'URL de httpsen http. Cela a résolu le problème pour moi.

Le crédit de cette suggestion appartient ici: https://nuget.codeplex.com/discussions/561075#PostDetailsCell_1354351 , à "jpharris4".

Zarepheth
la source
C'est un très bon point. NuGet peut être sensible à la validation de certificat.
Etienne Maheu
6

Je ne sais pas ce qui peut causer votre problème, mais il existe en effet un moyen de remplacer les sources de package par solution, mais uniquement si vous avez activé la restauration de package NuGet sur la solution donnée.

Une fois qu'une solution a activé la restauration de packages NuGet, un dossier appelé «.nuget» est ajouté à la solution. Sous celui-ci se trouvera un fichier appelé "NuGet.targets" qui a un ItemGroup dont la condition est "'$ (PackageSources)' == ''" comme celui que vous verrez dans l'image ci-jointe.

Si le ItemGroup est vide (ou complètement commenté, comme dans l'illustration), la solution utilisera un fichier spécifique qui devrait être le même que les sources répertoriées sous TOOLS >> OPTIONS. Mais si vous supprimez la mise en commentaire ou ajoutez des éléments PackageSource à cet ItemGroup, la solution recherchera les sources de package répertoriées et UNIQUEMENT celles répertoriées.

Contenu du fichier Nuget.targets

Omnidisciplinaire
la source
2
Les sources de package définies dans le fichier NuGet.targets affectent uniquement celles utilisées lors de la génération lorsqu'un package est en cours de restauration. Les sources de package dans le fichier NuGet.config dans le répertoire .nuget affecteront les sources de package disponibles pour un projet dans Visual Studio.
Matt Ward le
J'ai activé la restauration de paquet pour cette solution. Le ItemGroup est configuré comme dans votre capture d'écran, ce qui, je suppose, est le paramètre par défaut, donc je ne pense pas que ce soit le problème. Cependant, la restauration de packages a été activée il y a bien longtemps et le fichier cible a changé depuis. J'ai essayé de mettre à jour ces fichiers vers la dernière version en les supprimant et en réactivant la restauration du package et il semble que cela ait résolu le problème.
Etienne Maheu
Ou pas. Cela a fonctionné au début, mais après la restauration des packages de la solution et le redémarrage de Visual Studio, le problème est revenu.
Etienne Maheu
Quelques questions de clarification: 1) Avez-vous les bonnes versions référencées dans packages.config? 2) Avez-vous confirmé que la version que vous recherchez existe toujours sur le serveur NuGet ? 3) Avez-vous nettoyé la solution puis reconstruit-la après avoir terminé 1) et 2)?
Omnidisciplinarianist
1
Si c'est une consolation, j'obtiens ce problème mais uniquement sur mon PC de travail et cela se produit avec la plupart des projets. Le plus étrange, c'est que c'est intermittent qui me rend fou!
Matt
6

Vous pouvez également modifier la source NuGet à partir de l'interface utilisateur. Changez simplement la source NuGet vers une version plus ancienne et cela devrait fonctionner correctement.

entrez la description de l'image ici

Il semble y avoir encore peu de bogues dans VS 2015 liés à api.nuget.org (v3).

Sameer Azazi
la source
2

Dans ma console du gestionnaire de packages, je ne pouvais voir aucune source

Aller à: Outils -> Options -> Gestionnaire de packages Nuget -> Sources de packages

J'ai trouvé les sources. En les décochant et en les revérifiant, ils réapparaissent dans ma console du gestionnaire de packages

user2083640
la source
2

J'ai dû fournir la comman avec l'URL complète comme Install-Package MySql.Data.Entity -Version 6.9.8 -Source http://www.nuget.org/api/v2

gavinfonseca
la source
1

Dans mon cas, la cause était que le paquet avait un accord. Dans l'interface utilisateur - boîte de dialogue "Gérer les packages NuGet", vous avez la possibilité d'accepter et de continuer.

La console du gestionnaire de package dans VS 2013 semble avoir un problème avec cela. Comme d'autres l'ont dit, le redémarrage de VS 2013 pourrait le résoudre pour la console.

Byron
la source
1

Cela fonctionne pour moi dans VS 2015 prof: Outils -> Options -> Nuget Package Manager -> Package Sources

  1. Appuyez sur le bouton Ajouter
  2. Modifier dans l'étiquette de nom: nuget.org
  3. Modifier dans l'étiquette source: https://www.nuget.org/api/v2/
  4. appuyer sur OK

J'espère que ça aide ;)

praguan
la source
Pour VS 2015, vous devriez utiliser la v3 de leur liste ... pas la v2! Tiré de leur page d'accueil NuGet feed v3 (VS 2015 / NuGet v3.x): api.nuget.org/v3/index.json NuGet feed v2 (VS 2013 et versions antérieures / NuGet 2.x): nuget.org/api/v2
Paul Zahra
0

J'ai eu le même problème avec le même message. Mais la raison de mon problème était la perte de connexion à TFS. Mon serveur TFS était hébergé sur un autre réseau et j'utilisais un VPN pour y accéder. Lorsque j'ai essayé d'installer le package sans connexion établie à TFS (le VPN était désactivé), j'ai eu le même problème.

Soyez conscient de ce comportement TFS.

RredCat
la source
0

Cela se produit parce que vous travaillez en mode hors connexion, lorsque vous vous reconnectez, le réseau devra se déconnecter et se reconnecter. Le gestionnaire de packages se réinitialisera en douceur.

Rakesh Pahuja
la source
0

J'ai fait face à ce problème VS2013 et j'ai perdu 3 heures de temps.

Je ne sais pas quelle était la cause du problème. Mais aucune des solutions ci-dessus n'a fonctionné pour moi.

La réinstallation de la console Nuget Package Manager a fonctionné pour moi.

Outils -> Extensions et mises à jour -> Sous tout, recherchez Nuget Package Manager pour Visual Studio et appuyez sur Désinstaller.

Accédez à https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013 et téléchargez l'extension.

Syed Abbas
la source
0

entrez la description de l'image ici. Peut-être que le pare-feu de votre bureau / domicile bloque nuget.org alors essayez de connecter un réseau Internet différent, par exemple depuis votre mobile ou votre wifi. J'ai pu résoudre grâce à cette méthode.

user1687805
la source