从 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" 在解决方案级别。
我有一个关于 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" 在解决方案级别。