Enabling Nuget Automatic Restore
There are three ways that Nuget updates packages:
For more information see MSBuild Integrated Package Restore on nuget.org
You also need to remove the <RestorePackages>true</RestorePackages> line from the relevant property group.
Source: Migrating MSBuild-Integrated solutions to use Automatic Package Restore
nuget.exe restore my-application.sln
For more information see Command Line Package Restore on nuget.org
Automatically
As of Nuget version 2.7 the package restore should just all work! There are two settings which when checked means that new packages will automatically be downloaded when you build your solution.
MSBuild-Integrate
Previously, you had to right click and Enable Nuget Package Restore from the context menu, which resulted in the Nuget exe actually being added to the solution, along with some config.
So if you see a solution with these files, its actually a legacy approach to Nuget, it should use the previous method mentioned above.
For more information see MSBuild Integrated Package Restore on nuget.org
Problems with Automatic Restore
So sometimes when your working in an old solution and, for example, moving a project out to a nuget package, you might get an error something like:
Error 1 This project references NuGet package(s) that are missing on this computer
Visual Studio will automatically assume that it is using the old method if it detects the additional nuget files. But be aware, the project in question will also have the following xml in the project file. So, even if these extra nuget files don't exist, you may have managed to get into the state where that error appears. You just need to remove the Xml from the csproj file:
Source: Migrating MSBuild-Integrated solutions to use Automatic Package Restore
Command Line Restore
From the command line, your using the nuget.exe directly, for example:nuget.exe restore my-application.sln
For more information see Command Line Package Restore on nuget.org