40

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

nuget i packages.config -o 包

没有在每个项目的基础上维护单独的 nuget.exe 副本?

4

5 回答 5

79

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

Update-Package -Reinstall

您可以在此处找到有关重新安装 nuget 包的更多信息

于 2013-12-04T21:27:40.007 回答
21

警告- 使用

Update-Package -Reinstall

或者

Update-Package -Reinstall -IgnoreDependencies

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

始终确保首先执行备份。

场景

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

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

于 2014-04-13T15:09:56.293 回答
16

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

更多详细信息,请访问: http ://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

于 2012-03-23T20:58:41.870 回答
3

Found the solution on This blog entry. I needed to install NuGet.CommandLine, which makes nuget.exe. globally available in the VS command line. I can then set this up as a pre-build event to ensure that dependencies are downloaded.

于 2011-07-04T10:42:17.143 回答
1

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

NuGet Package Manager将>下面提到的两个选项保持General在选中状态 -

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

看看下面的截图:

在此处输入图像描述

于 2017-07-07T08:55:36.737 回答