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.

20voto

Betty Points 5886

L'outil en ligne de commande nuget n'est pas fourni avec le fichier vsix, il s'agit d'un téléchargement séparé.

https://github.com/nuget/home

15voto

misha Points 1425

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

Ceci rendra nuget disponible globalement, à partir de n'importe quel projet.

13voto

AZone Points 2153
  • Cliquez avec le bouton droit de la souris sur votre projet dans explorateur de solutions .
  • Sélectionnez Gérer les paquets NuGet pour la solution .
  • Recherche NuGet.CommandLine par Microsoft et l'installer. Search Nuget.CommandLine
  • Une fois l'installation terminée, vous trouverez un dossier nommé paquets sur votre projet. Allez dans l'explorateur de solutions et cherchez-le. packages
  • À l'intérieur des paquets, recherchez un dossier nommé NuGet.CommandLine.3.5.0 Ici, 3.5.0 n'est qu'un nom de version, le nom de votre dossier sera modifié en conséquence. nuGet COmmand Line
  • À l'intérieur de NuGet.CommandLine.3.5.0 cherchez un dossier nommé outils . tools
  • À l'intérieur de outils vous obtiendrez votre nuget.exe nuget.exe

10voto

done_merson Points 480

J'ai contourné ce problème en trouvant le nuget.exe et en le déplaçant vers un chemin facile à taper (c : \nuget\nuget ) puis d'appeler le nuget avec ce chemin. Cela semble résoudre le problème. c : \nuget\nuget dans la console du gestionnaire de paquets fonctionne comme prévu. J'ai essayé de trouver le chemin que la console utilisait et de modifier le chemin de l'environnement, mais je n'ai jamais réussi à le faire fonctionner de cette manière.

9voto

Shakeer Hussain Points 554

Suivez les étapes suivantes.

  1. Dans Visual Studio, allez dans Outils-> NuGet Package Manager->Console du gestionnaire de paquets.

  2. Exécutez la commande suivante

    Installer-Package NuGet.CommandLine

  3. Fermez Visual Studio et ouvrez-le à nouveau.

  4. répéter l'étape 1

  5. exécutez votre commande nuget par exemple, nuget push C:\Users\syaads\Debug\Library.1.0.32.nupkg -Source Artifactory

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