177 votes

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

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

Les cmdlets NuGet suivants sont inclus.

    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 commence des commandes avec nuget, cela donne :

Le terme 'nuget' n'est pas reconnu comme le nom d'un cmdlet, d'une fonction, d'un fichier script ou d'un programme exploitable. Vérifiez l'orthographe du nom ou, si un chemin d'accès a été inclus, vérifiez que le chemin d'accès est correct et essayez d'agencer le programme. ain.

À la ligne:1 char:6 + nuget <<<< + CategoryInfo : ObjectNotFound : (nuget:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

J'ai essayé les solutions suivantes :

1> Fermeture de tous les éléments et redémarrage

2> Désinstallation et réinstallation

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

Le problème a commencé à apparaître après que j'ai mis à niveau ma version d'essai de Visual Studio 2012 Ultimate en version enregistrée. À l'origine, j'avais installé VS 12 Pro. Je ne sais pas si cela a vraiment quelque chose à voir avec le problème mais j'ai remarqué que d'autres personnes qui avaient des problèmes similaires avaient VS 10 et 12 installés.

Ma question est "quelqu'un sait-il quoi essayer d'autre ?" Ma théorie est que le chemin de la commande nuget est manquant, mais je ne trouve pas comment configurer les chemins que la console du gestionnaire de paquets utilise et je ne suis pas sûr de l'endroit où la cmdlet nuget est réellement stockée.

Mis à jour -- j'ai essayé de télécharger l'outil de ligne de commande comme suggéré ci-dessous. Cela a conduit à ce que rien ne fonctionne à nouveau. J'ai essayé de désinstaller et maintenant j'ai un élément dans vs2010 extensions pour nuget qui n'a pas un bouton installer ou désinstaller activé. Cela me conduit à croire que cela a à voir avec les extensions installées via 2010 et 2012 qui a un rôle dans mon petit drame. Si quelqu'un sait aussi comment nuke une extension désinstallable, s'il vous plaît conseiller également, mais je vais essayer une autre question pour cela.

189voto

Nuget.exe est placé à .nuget de votre projet. Il ne peut pas être exécuté directement dans la console du gestionnaire de paquets, mais il est exécuté par des commandes Powershell car ces commandes construisent elles-mêmes un chemin personnalisé.

Mes étapes à résoudre sont :


Mise à jour

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

Installer-Package NuGet.CommandLine

99voto

BinSys Points 773

En [Package Manager Console] essayez le ci-dessous

Install-Package NuGet.CommandLine

70voto

fenix2222 Points 1810

Il y a des façons beaucoup plus agréables de le faire.

  1. Installez le paquet Nuget.Build dans le projet que vous voulez emballer. Vous devrez peut-être fermer et rouvrir la solution après l'installation.
  2. Installer nuget via chocolatey - beaucoup plus agréable. Installez chocolatey : https://chocolatey.org/ puis exécutez

    cinst Nuget.CommandLine

dans votre invite de commande. Cela installera nuget et configurera les chemins d'environnement, afin que nuget soit toujours disponible.

34voto

Matt Points 953

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

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

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

22voto

Kiran Chaudhari Points 459

Dans Visual Studio :

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

Dans le PM :

Install-Package NuGet.CommandLine

Fermez Visual Studio et ouvrez-le à nouveau.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X