web-dev-qa-db-fra.com

'nuget' n'est pas reconnu mais d'autres commandes de nuget fonctionnent

J'essaie de créer un paquet de nuget en utilisant http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory comme référence. La console Mon gestionnaire de packages dans Visual Studio ne me permet pas d'utiliser la commande "nuget". Je suis capable de 'Get-help nuguet' et il affiche:

Les applets de commande NuGet suivantes sont incluses.

    Cmdlet                  Description
    ------------------      ----------------------------------------------
    Get-Package             Gets the set of packages available from the package source.

    Install-Package         Installs a package and its dependencies into the project.

    Uninstall-Package       Uninstalls a package. If other packages depend on this package, 
                            the command will fail unless the –Force option is specified.

    Update-Package          Updates a package and its dependencies to a newer version.

    Add-BindingRedirect     Examines all assemblies within the output path for a project
                            and adds binding redirects to the application (or web) 
                            configuration file where necessary.

    Get-Project             Returns a reference to the DTE (Development Tools Environment) 
                            for the specified project. If none is specifed, returns the 
                            default project selected in the Package Manager Console.

    Open-PackagePage        Open the browser pointing to ProjectUrl, LicenseUrl or 
                            ReportAbuseUrl of the specified package.

    Register-TabExpansion   Registers a tab expansion for the parameters of a command.
  • Cependant, chaque fois que je lance des commandes avec nuget, on obtient:

Le terme 'nuget' n'est pas reconnu en tant que nom d'une applet de commande, d'une fonction, d'un fichier de script ou d'un programme utilisable. Vérifiez l'orthographe du nom ou, si un chemin a été inclus, vérifiez que le chemin est correct et essayez encore.

À la ligne: 1 caractère: 6 + nuget <<<< + CategoryInfo: ObjectNotFound: (nuget: Chaîne) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

J'ai essayé les solutions suivantes:

1> fermer tous les articles et redémarrer

2> désinstaller et réinstaller

3> créer un fichier de profil powershell (cela n'existait pas auparavant et cela a tout cassé)

Le problème a commencé à apparaître après la mise à niveau de ma version d'évaluation de Visual Studio 2012 Ultimate. J'avais initialement le VS 12 Pro installé. Je ne sais pas si cela a vraiment quelque chose à voir avec ça, mais j'ai remarqué que d'autres personnes ayant eu des problèmes similaires avaient déjà installé les versions 10 et 12.

Ma question est "Est-ce que quelqu'un sait quoi d'autre à essayer?" Ma théorie est que le chemin d'accès à la commande nuget est manquant, mais je ne trouve pas comment configurer les chemins d'accès utilisés par la console du gestionnaire de packages et je ne suis pas sûr de l'emplacement actuel du nuget de l'applet de commande.

Mis à jour --- essayé de télécharger l'outil de ligne de commande comme suggéré ci-dessous. Cela a conduit à rien ne fonctionne à nouveau. J'ai essayé de désinstaller et maintenant j'ai un élément dans les extensions vs2010 pour nuget qui n'a pas de bouton d'installation ou unistall activé. Cela me porte à penser que cela a à voir avec les extensions installées via 2010 et 2012 qui ont une part dans mon petit drame. Si quelqu'un sait aussi comment supprimer une extension non installable, merci de le signaler également, mais je vais essayer une autre question à cette fin.

94
done_merson

Vous pouvez également essayer de définir le chemin de la variable système sur l'emplacement de votre exe nuget et de redémarrer VS.

  1. Ouvrez votre variable système PATH et ajoutez l'emplacement de votre nuget.exe (pour moi, il s'agit de: C:\Program Files (x86)\NuGet\Visual Studio 2013).
  2. Redémarrer Visual Studio

J'aurais posté cela comme un commentaire sur votre réponse @done_merson mais je n'avais pas la réputation requise pour le faire.

13
Matt

Nuget.exe est placé à .nuget dossier de votre projet. Il ne peut pas être exécuté directement dans la console du gestionnaire de packages, mais il est exécuté par les commandes Powershell, car ces commandes créent un chemin personnalisé pour eux-mêmes.

Mes étapes à résoudre sont:


Mettre à jour

NuGet peut être facilement installé dans votre projet en utilisant la commande suivante:

Paquet d'installation NuGet.CommandLine

134

Il y a de bien meilleures façons de le faire.

  1. Installez le package Nuget.Build dans le projet que vous souhaitez emballer. Il peut être nécessaire de fermer et de rouvrir la solution après l’installation.
  2. Installez Nuget via Chocolatey - beaucoup plus agréable. Installez chocolatey: https://chocolatey.org/ , puis exécutez

    cinst Nuget.CommandLine

dans votre commande Invite. Ceci installera les chemins de l'environnement de nuget et d'installation, ainsi le nuget est toujours disponible.

55
fenix2222

Dans [Package Manager Console] essayez le ci-dessous

Install-Package NuGet.CommandLine
39
BinSys

L'outil de ligne de commande de nuget ne vient pas avec le fichier vsix, c'est un téléchargement séparé

https://github.com/nuget/home

15
Betty

Dans Visual Studio:

Tools -> Nuget Package Manager -> Package Manager Console.

En après midi:

Install-Package NuGet.CommandLine

Fermez Visual Studio et rouvrez-le.

8
Kiran Chaudhari
  • Cliquez avec le bouton droit sur votre projet dans solution Explorer .
  • Sélectionnez Gérer les packages NuGet pour la solution .
  • Recherchez NuGet.CommandLine par Microsoft et installez-le. Search Nuget.CommandLine
  • Une fois l'installation terminée, vous trouverez un dossier nommé packages dans votre projet. Allez dans la solution Explorer et cherchez-la. packages
  • Dans les packages, recherchez un dossier nommé NuGet.CommandLine.3.5.0 , ici 3.5.0 n’est que le nom de version, votre nom de dossier changera en conséquence. nuGet COmmand Line
  • À l’intérieur de NuGet.CommandLine.3.5.0 recherchez un dossier nommé outils . tools
  • Dans les outils , vous obtiendrez votre nuget.exe nuget.exe
7
DeltaCap019

J'ai contourné cela en trouvant le nuget.exe et en passant à un chemin facile à saisir (c:\nuget\nuget), puis en appelant le nuget avec ce chemin. Cela semble résoudre le problème. c:\nuget\nuget sur la console du gestionnaire de packages fonctionne comme prévu. J'ai essayé de trouver le chemin que la console utilisait et de changer le chemin de l'environnement, mais je n'ai jamais réussi à le faire fonctionner de cette façon.

3
done_merson

Récupérer nuget.exe de https://www.nuget.org/downloads. Copiez-le dans un dossier local et ajoutez ce dossier à la variable d'environnement PATH.

Cela rendra le nuget disponible dans le monde entier, à partir de tout projet.

0
misha