如何在Visual Studio 2015中启用nugets包还原?

如何在Visual Studio 2015中启用nuget包恢复function?

该function只是在我的上下文菜单中丢失(是的 – 我已经仔细检查,我尝试在解决scheme,而不是一个项目)

我唯一的项目是.NET 4.5控制台应用程序 – 还没有.nuget文件夹。 有一个实际的Nuget软件包安装。

我和你有同样的问题,我解决的方法是从我的解决scheme中删除packages文件夹,并从解决scheme中的每个项目删除binobj文件夹,并给它重build。

事实certificate,真正的解决scheme是迁移到自动软件包还原 。 在2013年工作一段时间之后,我们在升级到VS 2015之后遇到了NuGet的问题。 原来做NuGet的老方式完全是一种新的做法。

解决scheme很简单,虽然乏味。 显然,NuGet.targets文件指示VS使用旧的NuGet做事情的方式,缺席意味着您现在使用“自动软件包还原”。 您可以通过以下步骤迁移到自动软件包还原:

  1. 删除.nuget / NuGet.exe
  2. 删除.nuget / NuGet.targets
  3. 对于每个项目:
    1. 卸载项目
    2. 右键点击 – >编辑项目
    3. 删除对NuGet.targets文件的所有引用,即以下内容:
 <RestorePackages>true</RestorePackages> ... <Import Project="$(SolutionDir)\.nuget\nuget.targets" /> ... <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> </Target> 

如果你觉得大胆的话,还有一个powershell脚本可以为你执行迁移。 你可以在github上find它。

对于其他人来说,这个选项在Visual Studio选项的Nuget设置部分中可用

在这里输入图像说明

我有问题与错误401未经授权的恢复包。 我通过取消选中可用的本地软件包来源find了解决scheme。 debugging>选项> NuGet包pipe理器>包源

只允许nuget.org包

我的Visual Studio 2015专业版是使用默认设置安装的。 默认情况下,“允许NuGet下载缺失的软件包”和“在Visual Studio中自动检查缺less的软件包”选项已被选中,但是我仍然无法下载软件包。 我得到一个错误,无法find一个软件包版本。

我需要点击工具>选项> NuGet程序包pipe理器>程序包源中的checkbox才能使NuGet程序包恢复工作正常。

在这里输入图像说明

在以pipe理员模式启动Visual Studio 2015之后,我遇到了访问软件包文件夹的问题,所以我将其删除以执行还原。

但是在重build解决scheme时没有执行恢复,并且在解决scheme级别或Nuget窗口中没有find恢复包。

但是,如果右键单击解决scheme中项目的“ 引用”节点,则会出现“还原包”选项。 在所有项目上运行它为我修复。

在这里input图像说明

那么VS2015相当简单,我所要做的只是右键点击我的项目解决scheme,然后点击还原nuget。