如何让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中,您可以使用软件包管理器控制台来更新软件包。 这样做的好处是任何PowerShell脚本都将作为更新的一部分运行,因为使用NuGet.exe将不会运行它们。 以下命令会将每个项目中的所有软件包更新为nuget.org提供的最新版本。
Update-Package
您也可以将其限制为一个项目。
Update-Package -Project YourProjectName
如果您想要将软件包重新安装到与以前安装的版本相同的版本,那么您可以在Update-Package
命令中使用-reinstall
参数。
Update-Package -reinstall
您也可以将其限制为一个项目。
Update-Package -reinstall -Project YourProjectName
-reinstall
选项将首先卸载,然后再将软件包安装回项目中。
或者,您可以使用“ Manage Packages
对话框更新包。
更新:
-reinstall
信息 重新安装当前解决方案的所有项目中的所有软件包:
Update-Package -Reinstall
重新安装当前解决方案的SPECIFIC PROJECT中的所有软件包(感谢unarity和ashes999):
Update-Package -ProjectName 'YourProjectNameGoesHere' -Reinstall
还有另一种更新,更快捷的方法可以在Visual Studio中执行此操作。 请查看David Ebbo的这篇文章,如果遇到麻烦,请参阅评论部分。 基本上,你在包管理器提示符下执行以下操作:
PM> Install-Package NuGetPowerTools
PM> Enable-PackageRestore
之后,当您构建解决方案时,软件包将在缺失时自动安装。
更新:
该功能通过Visual Studio集成到Nuget 1.6中 ,因此您甚至不需要安装NuGetPowerTools或输入命令。 你所要做的就是
右键单击解决方案资源管理器中的解决方案节点,然后选择启用NuGet包恢复。
阅读这篇文章了解更多详情。
链接地址: http://www.djcxy.com/p/62273.html上一篇: How do I get NuGet to install/update all the packages in the packages.config?