Mar 20, 2015
NuGet is an open source package manager for the .NET Framework. NuGet makes it very easy for developers to add, remove and update library references in a project. It was first introduced in 2010 as an extension to Visual Studio 2010. Starting with Visual Studio 2012, NuGet is already included by default. It is also integrated into WebMatrix 3 and can also be used as an independent command-line utility, NuGet.exe, that you can download from here.
You can easily check if your installation of Visual Studio already has the NuGet extension by looking for the menu item NuGet Package Manager in the Tools menu of Visual Studio 2013. For older versions of Visual Studio, it was called Library Package Manager. If this menu item is not there, you can select Extensions and Updates in VS 2013 or Extensions Manager with older versions of Visual Studio and then search for NuGet, and once you find it just click the Download button.
From the NuGet Package Manager group in the Tools menu, you can choose the graphical UI to manage your packages by clicking the menu item Manage NuGet Packages for Solution...this will open a dialog-box where you can search for packages and install them. If a package has dependencies, they will be downloaded and installed as well.
The UI is very convenient if what you want is the latest version of some library. But let's say you want to install a particular version of a library, for example version 5.0.0 of Entity Framework and not the latest version 6, which is known to cause problems when used with MVC4. In that case, you have to use the menu Package Manager Console. This Powershell-based console allows you to do much more than the UI option.
To uninstall the current version of the Entity Framework, you need to execute:
To install version 5.0.0, enter:
Install-Package EntityFramework Version 5.0.0
If you want a list of installed packages in the current project, use:
In case you want a list of all available packages for download, you can add the flag -ListAvailable
to the above command. You can also filter with -Filter
followed by part of the name of a package. For example, to get a list of all packages, you can download that contains MVC in the name:
Get-Package -Filter Mvc -ListAvailable
If you want to update all the packages in your project to the latest available version, you need to execute the command:
If you add the -Safe flag to the above command, you will only update to latest version with the same major and minor numbers. For example 5.0.0 would be updated to 5.0.1 but not to 5.1 or 6.0.
To see more examples, you can visit the NuGet website and browse in the "Documentation" section.