内容来自 DOC https://q.houxu6.top/?s=如何让NuGet安装/更新packages.config中的所有包?
我有一个包含多个项目的解算方案。大多数第三方引用都缺失了,但每个项目都有packages.config
文件。**如何让NuGet安装/更新所有需要的包?**是否需要通过命令行对每个项目进行操作?
你可以使用 nuget.exe 来还原你的包,或者在安装了 NuGet 2.7 或更高版本的情况下,只需在 Visual Studio 中编译解决方案,这也将还原缺失的包。
对于 nuget.exe,你可以为每个项目运行以下命令。
nuget install packages.config
或者,使用 NuGet 2.7,你可以在命令行中使用以下命令还原解决方案中的所有包。
nuget restore YourSolution.sln
这两种方法都会下载包。当你运行此命令时,项目文件不会被修改,因此项目应该已经引用了 NuGet 包。如果不是这种情况,则可以使用 Visual Studio 安装包。
在 NuGet 2.7 及更高版本中,Visual Studio 将在构建解决方案时自动还原缺失的 NuGet 包,因此不需要使用 nuget.exe。
要更新解决方案中的所有包,请首先还原它们,然后可以使用 nuget.exe 更新包,也可以从 Visual Studio 中的“包管理器控制台”窗口更新包,或者最后使用“管理包”对话框。
从命令行中,您可以将解决方案中的包更新到 nuget.org 上可用的最新版本。
nuget update YourSolution.sln
请注意,这将不会运行任何 NuGet 包中的 PowerShell 脚本。
从 Visual Studio 中,您可以使用“包管理器控制台”(Package Manager Console) 来更新包。这有一个好处,即任何 PowerShell 脚本都将作为更新的一部分运行,而使用 nuget.exe 则不会运行它们。以下命令将更新每个项目中的所有包到 nuget.org 上可用的最新版本。
Update-Package
您也可以将此限制为一个项目。
Update-Package -Project YourProjectName
如果您想将包重新安装为先前安装的版本,则可以使用 -reinstall
参数和 Update-Package
命令。
Update-Package -reinstall
您也可以将此限制为一个项目。
Update-Package -reinstall -Project YourProjectName
-reinstall
选项将首先卸载包,然后将其重新安装到项目中。
或者,您可以使用“管理包”对话框更新包。
更新:
- 2013/07/10 - 更新了有关 nuget restore 的信息,适用于 NuGet 2.7
- 2014/07/06 - 更新了有关 Visual Studio 中自动包还原的信息,并更新了答案以反映其他 NuGet 更改。
- 2014/11/21 - 更新了有关
-reinstall
的信息。