从 github 下载解决方案时出现 NuGet 恢复问题

NuGet restore issue when downloading solutions from github

我有一个关于 Github 的项目,是我在笔记本电脑上制作的 https://github.com/Mech0z/Foosball9000

但是现在我在我的桌面上,我无法编译解决方案,我不确定为什么 NuGet 不想恢复我的包?

它的包,如 System.Web.Http 和 Castle Windsor,如果我查看我的 packages.config

,应该恢复的东西

我是 运行 VS 2015 Enterprice RC,但我在 VS 2013 中看到了同样的问题

好的,所以从 GitHub 抓取项目并尝试构建(但失败了)。您在自述文件中的构建状态表明它也无法构建。

虽然做了一些挖掘,但您的 FoosballOld.csproj 似乎有很多损坏的引用(基于它在项目中的位置如此之深)。请记住,NuGet 的默认行为是将包还原到 "packages" 以及您的 .sln 文件。因此,鉴于您的 FoodBalOld.csproj 在 src/FoosballOld/FoosballOld 中,引用 ../packages 是行不通的:

<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
  <Private>True</Private>
</Reference>

话虽如此,我建议您更新这些引用(如果您打算保留此文件结构,将它们更改为 ..\..\..\packages 应该可行)。

一旦我改变了它:

Build Summary
-------------
00:02.670 - Success - Debug Any CPU - src\FoosballOld\FoosballOld\FoosballOld.csproj
00:00.527 - Success - Debug Any CPU - http://localhost:2521
00:00.005 - Success - Debug Any CPU - Models\Models.csproj
00:00.003 - Success - Debug Any CPU - MongoDBRepository\MongoDBRepository.csproj
00:00.002 - Success - Debug Any CPU - Logic\Logic.csproj

Total build time: 00:02.856

========== Build: 5 succeeded or up-to-date, 0 failed, 0 skipped, Completed at 5/3/2015 9:42:20 AM ==========

回到原点,我在构建时设置了 NuGet 包恢复:

如果您没有定义它,您可能需要单独右键单击您的项目并打开 "Manage Nuget Packages..."。在那个 window 中,您应该会在顶部看到恢复包的警报。

这一切都是假设您在 visual studio 中安装了 NuGet。如果你不这样做,我认为你需要 "Enable NuGet package restore" 在解决方案级别。