NuGet以代码-1退出 - 因此构建失败

时间:2012-06-20 08:40:20

标签: c# asp.net-mvc-2 build nuget dotless

我已经在VS2012中通过Package Manager安装了dotless到现有的混合C#解决方案(类库和MVC2应用程序),但是现在当我构建它时(F5)我得到以下两个错误:

  

命令“”C:\ @ GitRepos \ EBS \ SolutionFiles \ .nuget \ nuget.exe“install   “C:\ @ GitRepos \ EBS \\ packages.config”-source“” - o   “C:\ @ GitRepos \ EBS \ SolutionFiles \ packages”“退出,代码为-1。

  

系统找不到指定的路径。

在解决方案中添加dotless后,添加了“.nuget”文件夹,其中包含“NuGet.exe和”NuGet.targets“。

我还尝试将dotless添加到新的MVC2项目中,除了必须向web.config添加mime类型之外,它一切正常。但是没有“.nuget”文件夹。

我还注意到,如果我创建一个新的NServiceBus解决方案(安装后),也会发生同样的情况。消息中的路径发生变化,但错误是相同的。

如果我采取

  

“C:\ @ GitRepos \ EBS \ SolutionFiles \ .nuget \ nuget.exe”安装   “C:\ @ GitRepos \ EBS \\ packages.config”-source“” - o   “C:\ @ GitRepos \ EBS \ SolutionFiles \包”

然后通过命令提示符运行它,然后我得到:

  

packages.config中列出的所有软件包都已安装。

6 个答案:

答案 0 :(得分:28)

所以放弃了这个,然后几天后再次看到它,我找到了答案。我遇到了david-martos.blogspot.co.uk。打开我的命令提示符后发现它还说"The system cannot find the path specified"我去了注册表。我在"HKEY_CURRENT_USER\Software\Microsoft\Command Processor"中发现"c:\ansi140\x64\ansicon.exe -p "有一个AutoRun密钥。删除它并再次尝试我的一个NserviceBus解决方案后,我发现它构建得很好。我希望这有助于其他人。

以下是David Martos post的直接链接。

答案 1 :(得分:8)

这也可能是您必须设置的nuget包恢复同意。 http://blog.nuget.org/20120518/package-restore-and-consent.html

对于想要永久接受同意的任何人,请查看安装http://nuget.org/packages/NuGetEnablePackageRestore - 它将自动在所有计算机上接受。

答案 2 :(得分:5)

我通过打开软件包管理器控制台并单击"恢复"解决了这个问题。弹出警告按钮。这是一个选择它的样子。这与其他解决方案类似,但是从不同的角度来看。

enter image description here

答案 3 :(得分:4)

只需从NuGet Package Manager Console执行以下命令即可。它对我有用:

PM> Install-Package NuGetEnablePackageRestore

答案 4 :(得分:1)

对我来说,我不小心从项目目录的根目录中删除了NuGet.Config文件。幸运的是,我可以使用源代码控制来恢复它。

如果有人和我一样犯了同样的错误并且没有备份,那么这是我文件的内容:

<?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>

答案 5 :(得分:1)

我有同样的错误:

  

“命令“”以代码-1退出。”和“系统找不到指定的路径。”

我测试了所有可能的解决方案,但没有任何效果,最后我从另一个项目中获取了NuGet.exe,并将其替换为产生错误并正在运行的.nuget文件夹中的项目。