web-dev-qa-db-fra.com

NuGet est sorti avec le code -1 - Echec de la construction en conséquence

J'ai installé sans dot via le gestionnaire de packages VS2012 dans une solution C # mixte existante (bibliothèques de classes et applications MVC2). Cependant, maintenant, lorsque je la construis (F5), je reçois les deux erreurs suivantes:

La commande "" C:\@ GitRepos\EBS\SolutionFiles\.nuget\nuget.exe "installez " C:\@ GitRepos\EBS \\ packages.config "-source" "-o " C :\@ GitRepos\EBS\SolutionFiles\packages "" sortis avec le code -1.

et 

Le système ne peut pas trouver le chemin spécifié.

Après l'ajout de dotless à la solution, un dossier ".nuget" avec "NuGet.exe et" NuGet.targets "a été ajouté.

J'ai également essayé d'ajouter des points à un nouveau projet MVC2 et à part l'ajout d'un type mime au fichier web.config, tout fonctionne bien. Il n'y a cependant pas de dossier ".nuget".

J'ai également remarqué que la même chose se produit si je crée une nouvelle solution NServiceBus (après l'avoir installée). Les chemins dans le message changent mais l'erreur est la même.

Si je prends 

"C:\@ GitRepos\EBS\SolutionFiles\.nuget\nuget.exe" installez "C:\@ GitRepos\EBS \\ packages.config" -source "" -o "C:\@ GitRepos\EBS\SolutionFiles\packages"

et exécutez-le via une invite de commande alors je reçois:

Tous les packages répertoriés dans packages.config sont déjà installés.

22
Canters

Donc, après avoir renoncé à cela et quelques jours plus tard, j’ai trouvé la réponse. Je suis tombé sur david-martos.blogspot.co.uk. Après avoir ouvert mon invite de commande et l'avoir trouvé, il a également déclaré "The system cannot find the path specified" Je suis allé chercher dans le registre. J'ai trouvé dans "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" qu'il y avait une clé d'exécution automatique pour "c:\ansi140\x64\ansicon.exe -p ". Après avoir supprimé cela et essayé à nouveau l'une de mes solutions NserviceBus, je l'ai trouvée bien construite. J'espère que cela aide les autres.

Voici un lien direct vers David Martos post .

28
Nathan McKenzie

Il s’agissait également d’un consentement à la restauration du package de pépites que vous deviez définir. http://blog.nuget.org/20120518/package-restore-and-consent.html

Pour ceux qui souhaitent que leur consentement soit définitivement accepté, jetez un œil à l’installation de http://nuget.org/packages/NuGetEnablePackageRestore - il sera automatiquement accepté sur toutes les machines.

8
ferventcoder

J'ai résolu ce problème en ouvrant la console du gestionnaire de packages et en cliquant sur le bouton "Restaurer" de l'avertissement qui s'est affiché. Voici un aperçu de ce à quoi il ressemblait. Ceci est similaire aux autres solutions, mais sous un angle différent. 

 enter image description here

5
mkimmet

Il suffit d’exécuter la commande ci-dessous à partir de la console NuGet Package Manager. Cela a fonctionné pour moi:

PM> Install-Package NuGetEnablePackageRestore
4
Thakur Rock

Pour moi, j'avais accidentellement supprimé le fichier NuGet.Config de la racine du répertoire de mon projet. Heureusement, j'ai pu le restaurer avec le contrôle de source. 

Voici le contenu de mon fichier si quelqu'un a commis la même erreur que moi et n'a pas de sauvegarde:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <config>
    <add key="repositorypath" value="NuGet Packages" />
    <add key="globalPackagesFolder" value="NuGet Packages" />
  </config>  
  <packageRestore>
    <add key="enabled" value="True" />
  </packageRestore>  
</configuration>
1
IveGotThePawa

J'ai eu la même erreur: 

"La commande" "est sortie avec le code -1." et "Le système ne peut pas trouver le chemin spécifié."

J’ai testé toutes les solutions possibles que j’ai trouvées et que rien n’a fonctionné. À la fin, j’ai récupéré le NuGet.exe dans un autre projet et l’a remplacé dans le projet situé dans le dossier .nuget qui générait l’erreur et fonctionne maintenant.

0
Byron