web-dev-qa-db-fra.com

Activer la restauration de package NuGet sur Visual Studio 2013

Je suis ce didacticiel simple pour commencer à coder avec l'API Google+ en C #. Cependant, je suis resté bloqué pendant des heures à l'étape 3, où les premières sous-étapes sont les suivantes:

  1. Dans Visual Studio, cliquez sur Projet> Activer la restauration du paquet NuGet> répondez Oui dans la boîte de dialogue.
  2. Cliquez avec le bouton droit sur le projet gplus-quickstart-csharp et sélectionnez Gérer les packages NuGet.
  3. Cliquez sur Restaurer dans la fenêtre Gérer les paquets NuGet. Cela installera les bibliothèques du client Google API.

Lorsque je clique sur Projet, il n'y a pas d'option "Activer la restauration du paquet NuGet".

existe une option de gestion des paquets Nuget, mais aucun bouton de restauration ni aucune option.

Le projet ne construit pas et me donne l'erreur:

Erreur 1 Ce projet fait référence aux packages NuGet manquants sur cet ordinateur. Activez la restauration du paquet NuGet pour les télécharger. Pour plus d'informations, voir http://go.Microsoft.com/fwlink/?LinkID=322105 . Le fichier manquant est C:\Utilisateurs\Documents\google +\gplus-quickstart-csharp\.nuget\NuGet.targets. C:\Utilisateurs\Documents\google +\gplus-quickstart-csharp\gplus-quickstart-csharp\gplus-quickstart-csharp.csproj 201 5 gplus-quickstart-csharp

Je suis allé sur le site Web de Microsoft et il ne fait que rediriger vers la documentation de NuGet où je n'ai rien trouvé qui fonctionne. J'ai essayé les commandes suivantes (décrites dans les exemples):

  • D:\projects\contoso> nuget.exe restaurer
  • D:\projects\contoso> nuget.exe restaurer contoso.sln
  • D:\projects> nuget.exe restore contoso

mais en vain. Et oui, NuGet est installé. Des idées? Merci!

35
user3180077

Pour trouver l'élément de menu: "Activer la restauration du paquet Nuget", cliquez avec le bouton droit de la souris sur l'explorateur de solutions sur solution - et non sur le projet.

Vous recevez un message:

Voulez-vous configurer cette solution pour télécharger et restaurer les packages NuGet manquants lors de la construction?

N'était-ce pas ce que vous recherchiez?

52
Harald Coppoolse

Vous ne voulez pas utiliser la restauration de paquet Nuget basée sur le projet!

Assurez-vous de disposer de la dernière version de Nuget (Outils -> Extensions et mises à jour).

Lorsque vous construisez le projet, il doit vous indiquer qu'il doit télécharger les packages de nuget (ou peut simplement les télécharger automatiquement).

Modifier pas sûr ce qui est avec les votes négatifs:

http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html

Ce que l’équipe de NuGet recommande maintenant est à la fois beaucoup plus propre et beaucoup plus simple. En bref, vous ne faites rien de spécial et cela se produit! Ceci est dû au fait que NuGet restaure toujours les paquets avant de compiler VS. Aucun changement n'est donc nécessaire dans vos fichiers, ce qui est magnifique!

Étant donné que les utilisateurs rencontrent encore des problèmes pour inclure plus d'informations:

https://docs.nuget.org/consume/package-restore#common-issues-with-automatic-package-restore

27
John

Renommez votre dossier .nuget puis cliquez avec le bouton droit de la souris sur votre solution. Activer la restauration du paquet Nuget devrait alors être visible.

12
ceebreenk

Je pense que vous voulez juste savoir où activer "Autoriser Nuget à télécharger les paquets manquants"

Sous VS2013: clic droit sur le projet. Sélectionnez "Gérer les packages NuGet pour la solution". Cliquez ensuite sur "Paramètres" dans la nouvelle boîte de dialogue. Cliquez sur "Gestion du gestionnaire de packages NuGet". Cochez/décochez "Autoriser NuGet à télécharger les packages manquants".

6
Ronald

J'ai eu ce problème et trouvé un correctif qui peut ou peut ne pas fonctionner pour vous. Je devais éditer les fichiers csproj car ils pointaient vers des dossiers de paquets incorrects ou inexistants.

Recherchez les chemins de référence dans votre fichier csproj et assurez-vous que le chemin du dossier des packages est correct:

<HintPath>..\packages\path\to\file.dll</HintPath>

Peut-être à cause d'une configuration de dossier inhabituelle, cela doit être ..\..\packages. De plus, NuGet ajoute cette ligne vers le haut:

<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>

Si vous deviez modifier vos HintPaths, vous devrez probablement également le modifier. Dans mon exemple, vous modifieriez la valeur en ..\..\. Enfin, en bas, NuGet ajoute une cible avec le nom EnsureNuGetPackageBuildImports. Vous verrez quelques attributs avec le ..\packages chemins en eux. En utilisant à nouveau mon exemple, vous devrez changer ceci en ..\..\packages. La base pour toutes ces valeurs est bien sûr le dossier contenant le fichier csproj.

Il peut être inhabituel que vos chemins de dossier soient configurés d'une manière autre que celle par défaut, mais le mien l'était, et cette information m'aurait été utile.

4
user2023861

Si vous cliquez avec le bouton droit sur un projet et que l'option "Activer la restauration du package Nuget" n'apparaît pas, la raison pour laquelle vous ne voyez pas cette option est que la dernière version du package nuget n'est pas installée dans Visual Studio.

Les étapes suivantes vous montreront comment installer le package de nuget approprié pour la version de Visual Studio que vous utilisez. Cliquez sur Outils-> Extensions et mises à jour. Les extensions et le dialogue de mise à jour apparaissent. Cliquez sur en ligne dans la colonne de gauche de la boîte de dialogue. Vous devriez voir apparaître comme premier package de la liste "Nuget Package Manager pour Visual Studio 2013. Cliquez sur le bouton" Télécharger "pour installer. Vous devrez peut-être ensuite redémarrer Visual Studio.

Maintenant, rouvrez votre solution et cliquez avec le bouton droit sur le nom de la solution. Vous devriez maintenant voir une boîte de dialogue vous demander si vous souhaitez restaurer les packages pour cette solution. Si vous sélectionnez "oui", chaque fois que vous construirez votre solution, le nuget tentera de le télécharger et des packages correspondants utilisés par votre solution.

1
Frank Saraceno

Dans ma situation, je viens de créer une nouvelle solution et le fichier de solution n'a pas encore été enregistré. Assurez-vous que la solution est enregistrée avant "Activer la restauration du package Nuget"

0
nwestfall