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

Posted

技术标签:

【中文标题】在 appharbor 上构建 web 服务时无法找到 nuget.exe【英文标题】:unable to locate nuget.exe when building webservice on appharbor 【发布时间】:2012-12-18 11:40:20 【问题描述】:

我正在尝试使用 codeplex 在 appharbor 部署我的网络服务。 在第一次尝试并进行了一些研究后,我发现我必须使用 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

我想如何解决这个错误? 任何可能在未来帮助我的有用链接也表示赞赏。

【问题讨论】:

【参考方案1】:

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

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

您必须重新启动 Visual Studio 或重新加载解决方案 (see this) 才能生效。

【讨论】:

天哪,你太棒了,在浪费了 2 个小时之后,你的解决方案终于对我有用了,我爱你 :) 非常感谢 - 我非常喜欢 真是个好东西,等不及这个问题出现在办公室了。 这是成功的答案 对于找不到它的任何人,nuget.targets 文件位于项目文件夹的 .nuget/(通常是隐藏的)子文件夹中。【参考方案2】:

我通过右键单击解决方案解决了问题,然后单击

Enable NuGet Package Restore

【讨论】:

我在 Visual Studio 2012 中的解决方案和任何项目中都没有找到您给定的选项。【参考方案3】:

可执行文件可能会通过 .gitignore 被忽略

*.exe 

将此行添加到.gitignore:

!.nuget/NuGet.exe

【讨论】:

这适用于我。谢谢。【参考方案4】: 启用 NuGet 包还原 然后右击解决方案 选择启用 NuGet 包还原

【讨论】:

【参考方案5】:

这是using NuGet package restore with AppHarbor 上的一篇博文。在您的情况下,问题可能是您的存储库中没有包含 .nuget 文件夹。

【讨论】:

【参考方案6】:

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

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

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

【讨论】:

以上是关于在 appharbor 上构建 web 服务时无法找到 nuget.exe的主要内容,如果未能解决你的问题,请参考以下文章

SQL CE 部署 - AppHarbor - 无法加载 SQL Server Compact 的本机组件

如何开始在 AppHarbor 上使用我新安装的 JabbR?

尝试在 AppHarbor 上查看我的 MVC4 应用程序时出现 403 错误(禁止)

服务器响应状态403(禁止)

在 AppHarbor 上的 MVC3 内运行 WCF WebAPI Prev 6,出现 404 错误

csharp ASP.NET MVC ActionFilter允许或拒绝具有可选子网掩码的IPv4地址。用于AppHarbor或任何其他服务器解决方案