使用安装为VS Extension的NuGet重新安装NuGet软件包

时间:2011-07-04 10:27:22

标签: visual-studio nuget nuget-package

我希望能够按照The NuGet docs在packages.config中安装所有NuGet包。 NuGet作为VS扩展安装,我似乎无法找到nuget.exe。是否可以运行:

  

nuget i packages.config -o Packages

不按每个项目维护nuget.exe的单独副本?

5 个答案:

答案 0 :(得分:70)

重新安装当前解决方案的所有项目中的所有包:

Update-Package -Reinstall

您可以找到有关重新安装nuget软件包的更多信息 here

答案 1 :(得分:20)

警告 - 使用

Update-Package -Reinstall

Update-Package -Reinstall -IgnoreDependencies

可能会删除所有的package和package.config文件!

始终确保先执行备份。

情景

  • 多个项目的解决方案
  • 每个包含自己的Nuget条目,一些包含相同的包(例如,SharpRepository,Entity Framework)
  • 现在复制没有其他地方“分发”的packages文件夹的文件夹
  • 假设包文件夹未包含在发行版
  • 现在尝试使用命令Update-Package -Reinstall,或者如果您有一些alpha包和/或确定您的依赖项是好的,请尝试Update-Package -Reinstall -IgnoreDependencies

<强>结果
由于packages文件夹不存在,因此包的条目也会有条不紊地消失。这可能让一些人感到惊讶 - 所以要小心,我只是在说。

答案 2 :(得分:16)

作为对这篇文章的更新,NuGet 1.6增加了对工作流的支持,以便在构建时恢复软件包(如果缺失)。 右键单击解决方案,单击“启用程序包还原模式”将其设置为打开。

更多详情: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

答案 3 :(得分:3)

This blog entry找到解决方案。我需要安装NuGet.CommandLine,这使得nuget.exe成为可能。 VS命令行中全局可用。然后,我可以将其设置为预构建事件,以确保下载依赖项。

答案 4 :(得分:1)

一个更容易的选项,您可以在开发期间在Visual Studio中保持启用,以减轻与NuGet包安装相关的痛苦。

NuGet Package Manager&gt;下保留以下两个选项General处于已检查状态 -

  1. 允许NuGet下载缺少的包
  2. 在Visual Studio
  3. 中构建期间自动检查缺少的包

    看看下面的截图:

    enter image description here