在appharbor上构建Web服务时无法找到nuget.exe


86

我正在尝试使用Codeplex在appharbor部署我的Web服务。第一次尝试并进行研究后,我发现必须使用NuGet才能找到参考。

现在我只剩下1个错误,不知道如何解决

   "D:\temp\g3wyilvx.uln\input\WebService\Webservice.sln" (default target) (1) ->
   "D:\temp\g3wyilvx.uln\input\WebService\Webservice\Webservice.csproj" (default target) (2) ->
   (CheckPrerequisites target) -> 
     D:\temp\g3wyilvx.uln\input\WebService\.nuget\nuget.targets(72,9): error : Unable to locate 'D:\temp\g3wyilvx.uln\input\WebService\.nuget\nuget.exe' [D:\temp\g3wyilvx.uln\input\WebService\Webservice\Webservice.csproj]
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.17

我应该如何解决这个错误?任何对将来有用的有用链接也将受到赞赏。

Answers:


201

我通过更改NuGet.targets文件中的这一行并将其设置为true来解决此问题:

<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">true</DownloadNuGetExe>

但是您必须重新启动Visual Studio或重新加载解决方案请参阅),此方法才能生效。


9
噢,您真棒,在浪费了2个小时之后,您的解决方案终于对我
有用

3
非常感谢您-我非常喜欢
adaam 2015年

2
多么珍贵,不能等待这个问题出现在办公室。
tyler_mitchell

2
这是成功的答案
Isaac

1
对于找不到它的人,nuget.targets文件位于项目文件夹的.nuget /(通常是隐藏的)子文件夹中。
杰夫·海伊


14

可执行文件可能会在您的.gitignore中通过以下方式忽略

*.exe 

将此行添加到.gitignore中:

!.nuget/NuGet.exe

这适用于我。谢谢。
布莱斯2015年



0

当我的一位同事在解决方案中添加了一个新项目时,我遇到了这个问题。他从nuget添加了新软件包。上面评分最高的答案对我来说是不可接受的,因为一旦我更新了nuget包,它就会更新项目中所有引用的库。

我如何通过仅从import.csproj文件中删除nuget包的语句来消除此错误的方法。

为此,请右键单击.csproj文件,然后在记事本中将其打开并删除该语句。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.