Updating nuget packages in all projects in a solution
Solution 1
As found in NuGet documentation, you can type:
Update-Package
This will :
Update all packages in all projects of the current solution to the latest versions.
To open the Package Manager Console:
Tools > NuGet Package Manager > Package Manager Console
Now, in order to have only one instance of all packages, I have, in my solution folder, a file named nuget.config
that contains:
<configuration>
<config>
<add key="repositoryPath" value="..\Path\To\My\Packages" />
</config>
</configuration>
You might need to reload your solution in order to make it work properly.
Solution 2
You have used command line examples, but your question does not state if you require a command line answer. If you do not require command line, you can right-click on your solution in the Solution Explorer, and select Manage NuGet Packages for Solution ... This displays a dialog where you can make your selections. Other than that, you'd need to write a script at this point in time anyway (as far as I know).
Solution 3
First you have to restore all packages using nuget restore solution_file.sln
then update them to latest version by executing nuget update solution_file.sln
.
Read more about nuget command line
Updated link to Nuget command line documentation
Nuget Package Manager Console documentation (Visual Studio for Windows)
Edit: Previous link is dead. Added working equivalent and bonus Package Manager Console link.
KnightFox
I am a lead software engineer at a Data Analytics company in Arlington Va
Updated on July 24, 2020Comments
-
KnightFox almost 4 years
I have a .net solution (say A) with multiple projects(say B,C,D). I want to update all nuget packages for all projects in the solution. I know I can update nuget packages using command line but passing in the path to packages.config
nuget update A/B/packages.config
Is there a way to update packages for all packages.configs inside folder A using command line without having to specify them individually? (I know this can be done from inside visual studio.) Something like
nuget update A/*/packages.config
-
Chris Ward over 5 yearsThe OP asked for the command line solution and this is not it. The post by Ekk looks to be the correct solution for a command line to update restore and then update to the latest version all packages in a solution.
-
Maxime over 5 yearsThe OP rated this answer as the "accepted answer". Also, the OP already knows the command. He simply didn't know what configurations to put in nuget.config.
-
Adrian almost 5 yearsVery helpful to know the version of the library in every project
-
Michael Brown about 4 yearsyea except on large solutions this UI takes ages to load, or sometimes not at all.
-
clairestreb about 3 years@Michael, day late and a dollar short, but that's the downfall of having nuget on all of your projects. Many gigs I've worked on only have one external solution that has nuget and stores all of the packages in a separate folder than the main solution. It works great on build machines that are not allowed to connect to the internet, and all projects have a file reference to external packages.