Gets or sets NuGet config values.
nuget config -Set name=value
Set | One on more key-value pairs to be set in config. |
Help | help |
Verbosity | Display this amount of details in the output: normal, quiet, detailed. |
NonInteractive | Do not prompt for user input or confirmations. |
ConfigFile | The NuGet configuation file. If not specified, file %AppData%\NuGet\NuGet.config is used as configuration file. |
nuget config -Set HTTP_PROXY=http://127.0.0.1 -Set HTTP_PROXY.USER=domain\user
nuget.config HTTP_PROXY
Deletes a package from the server.
nuget delete <package Id> <package version> [API Key] [options]
Specify the Id and version of the package to delete from the server.
Source | Specifies the server URL. |
NoPrompt | Do not prompt when deleting. |
ApiKey | The API key for the server. |
Help | help |
Verbosity | Display this amount of details in the output: normal, quiet, detailed. |
NonInteractive | Do not prompt for user input or confirmations. |
ConfigFile | The NuGet configuation file. If not specified, file %AppData%\NuGet\NuGet.config is used as configuration file. |
nuget delete MyPackage 1.0
nuget delete MyPackage 1.0 -NoPrompt
Displays general help information and help information about other commands.
nuget help [command]
Pass a command name to display help information for that command.
All | Print detailed help for all available commands. |
Markdown | Print detailed all help in markdown format. |
Help | help |
Verbosity | Display this amount of details in the output: normal, quiet, detailed. |
NonInteractive | Do not prompt for user input or confirmations. |
nuget help
nuget help push
nuget ?
nuget push -?
Installs a package using the specified sources. If no sources are specified, all sources defined in %AppData%\NuGet\NuGet.config are used. If NuGet.config specifies no sources, uses the default NuGet feed.
nuget install packageId|pathToPackagesConfig [options]
Specify the id and optionally the version of the package to install. If a path to a packages.config file is used instead of an id, all the packages it contains are installed.
Source | A list of packages sources to use for the install. |
OutputDirectory | Specifies the directory in which packages will be installed. If none specified, uses the current directory. |
Version | The version of the package to install. |
ExcludeVersion | If set, the destination directory will contain only the package name, not the version number |
Prerelease | Allows prerelease packages to be installed. This flag is not required when restoring packages by installing from packages.config. |
NoCache | Disable looking up packages from local machine cache. |
RequireConsent | Checks if package restore consent is granted before installing a package. |
SolutionDirectory | Solution root for package restore. |
Help | help |
Verbosity | Display this amount of details in the output: normal, quiet, detailed. |
NonInteractive | Do not prompt for user input or confirmations. |
FileConflictAction | The action to take, when asked to overwrite or ignore existing files referenced by the project: Overwrite, Ignore, None. |
ConfigFile | The NuGet configuation file. If not specified, file %AppData%\NuGet\NuGet.config is used as configuration file. |
nuget install elmah
nuget install packages.config
nuget install ninject -o c:\foo
Downloads and unzips (restores) any packages missing from the packages folder.
nuget restore [<solution>|<packages.config file>] [options]
Source | A list of packages sources to use for the install. |
NoCache | Disable using the machine cache as the first package source. |
ConfigFile | Specifies the user specific configuration file. If omitted, %appdata%\NuGet\nuget.config is used as the user specific configuration file. |
RequireConsent | Checks if package restore consent is granted before restoring a package. |
PackagesDirectory | Specifies the packages directory. -OutputDirectory is an alias of this option. |
SolutionDirectory | Specifies the solution directory. Not valid when restoring packages for a solution. |
DisableParallelProcessing | Disable parallel nuget package restores. |
Help | help |
Verbosity | Display this amount of details in the output: normal, quiet, detailed. |
NonInteractive | Do not prompt for user input or confirmations. |
The restore command is executed in the following steps:
Determine the operation mode of the restore command.
If the operation mode is restoring for a solution, then -SolutionDirectory option is not applicable. In this case, nuget displays an error message and exits.
Read nuget configuration. If nuget is restoring packages for a solution file, $(SolutionDir).nuget is used as the starting directory. If nuget is restoring packages from packages.config file, the directory of that file is used as the starting directory.
Calculate the packages directory:
When nuget is restoring packages for a solution:
See next step for how nuget restores packages from a packages.config file.
When nuget is restoring packages listed in the packages.config file:
# Restore packages for a solution file
nuget restore a.sln
# Restore packages for a project's packages.config file, with the packages folder at the parent
nuget restore proj1\packages.config -PackagesDirectory ..\packages
# Restore packages for the solution in the current folder, specifying package sources
nuget restore -Source -source https://www.nuget.org/api/v2;https://www.myget.org/F/nuget
Displays a list of packages from a given source. If no sources are specified, all sources defined in %AppData%\NuGet\NuGet.config are used. If NuGet.config specifies no sources, uses the default NuGet feed.
nuget list [search terms] [options]
Specify optional search terms.
Source | A list of packages sources to search. |
Verbose | Displays a detailed list of information for each package. |
AllVersions | List all versions of a package. By default, only the latest package version is displayed. |
Prerelease | Allow prerelease packages to be shown. |
Help | help |
Verbosity | Display this amount of details in the output: normal, quiet, detailed. |
NonInteractive | Do not prompt for user input or confirmations. |
ConfigFile | The NuGet configuation file. If not specified, file %AppData%\NuGet\NuGet.config is used as configuration file. |
nuget list
nuget list -verbose -allversions
Mirrors a package and its dependencies from the specified source repositories to the target repository.
Note: to enable this command, navigate to http://build.nuget.org/ (there's a Guest log in option), copy NuGet.ServerExtensions.dll from Artifacts,CommandLine.ServerExtensions to your local disk in the same directory as NuGet.exe.
nuget mirror packageId|pathToPackagesConfig listUrlTarget publishUrlTarget [options]
Specify the id of the package to mirror, the url to query the target repository (list command) and the url to push packages to the target repository. If a path to a packages.config file is used instead of a package id, all the packages it contains are mirrored to the given version (if specified) or latest otherwise. Assuming you're targeting a private repository under http://machine/repo installed using NuGet.Server, the list and push urls will be http://machine/repo/nuget and http://machine/repo/api/v2/package respectively.
Source | A list of packages sources to use for the finding packages to mirror. If no sources are specified, the ones defined in the default NuGet config file are used. If the default NuGet config file specifies no sources, uses the default NuGet feed. |
Version | The version of the package to install. If not specified, latest version is mirrored. |
ApiKey | The API key for pushing to the target repository. If not specified, the one specified in the default NuGet config file is used. |
Prerelease | When set, "latest" when specifying no version for a package id (as command argument or in packages.config) includes pre-release packages. |
Timeout | Specifies the timeout for pushing to a server in seconds. Defaults to 300 seconds (5 minutes). |
NoCache | By default a local cache is used as a fallback when a package or a package dependency is not found in the specified source(s). If you want to ensure only packages from the specified sources are used, set the NoCache option. If you want instead to maximize chances of finding packages, do not set this option. |
NoOp | Log what would be done without actually doing it. Assumes success for push operations. |
Help | help |
nuget mirror packages.config http://MyRepo/ES/nuget http://MyRepo/ES/api/v2/package -source https://nuget.org/api/v2 -apikey myApiKey -NoCache
nuget mirror Microsoft.AspNet.Mvc http://MyRepo/ES/nuget http://MyRepo/ES/api/v2/package -version 4.0.20505.0
nuget mirror Microsoft.Net.Http http://MyRepo/ES/nuget http://MyRepo/ES/api/v2/package -prerelease
Creates a NuGet package based on the specified nuspec or project file.
nuget pack <nuspec | project> [options]
Specify the location of the nuspec or project file to create a package.
OutputDirectory | Specifies the directory for the created NuGet package file. If not specified, uses the current directory. |
BasePath | The base path of the files defined in the nuspec file. |
Verbose | Shows verbose output for package building. |
Version | Overrides the version number from the nuspec file. |
Exclude | Specifies one or more wildcard patterns to exclude when creating a package. |
Symbols | Determines if a package containing sources and symbols should be created. When specified with a nuspec, creates a regular NuGet package file and the corresponding symbols package. |
Tool | Determines if the output files of the project should be in the tool folder. |
Build | Determines if the project should be built before building the package. |
NoDefaultExcludes | Prevent default exclusion of NuGet package files and files and folders starting with a dot e.g. .svn. |
NoPackageAnalysis | Specify if the command should not run package analysis after building the package. |
IncludeReferencedProjects | Include referenced projects either as dependencies or as part of the package. If a referenced project has a corresponding nuspec file that has the same name as the project, then that referenced project is added as a dependency. Otherwise, the referenced project is added as part of the package. |
ExcludeEmptyDirectories | Prevent inclusion of empty directories when building the package. |
Properties | Provides the ability to specify a semicolon ";" delimited list of properties when creating a package. |
Help | help |
Verbosity | Display this amount of details in the output: normal, quiet, detailed. |
NonInteractive | Do not prompt for user input or confirmations. |
MinClientVersion | Set the minClientVersion attribute for the created package. This value will override the value of the existing minClientVersion attribute (if any) in the .nuspec file. |
ConfigFile | The NuGet configuation file. If not specified, file %AppData%\NuGet\NuGet.config is used as configuration file. |
Some NuGet packages are useful as development dependencies, which help you author your own library, but aren't necessarily needed as actual package dependencies. Some examples are code-based packages or tooling packages that don't provide assemblies your package needs to reference at runtime. Starting from version 2.7, the pack command will ignore <package> entries in the packages.config file which have an attribute developmentDependency set to true and will not include that package as a dependency in the created package. For example, consider the following packages.config file in the source project:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="jQuery" version="1.5.2" />
<package id="netfx-Guard" version="1.3.3.2" developmentDependency="true" />
<package id="microsoft-web-helpers" version="1.15" />
</packages>
When running the pack command on this project, the created package will have a dependency on jQuery and microsoft-web-helpers, but will not have dependency on netfx-Guard.
nuget pack
nuget pack foo.nuspec
nuget pack foo.csproj
nuget pack foo.csproj -Build -Symbols -Properties Configuration=Release
nuget pack foo.nuspec -Version 2.1.0
nuget pack foo.nuspec -Version 1.0.0 -MinClientVersion 2.5
Pushes a package to the server and publishes it. NuGet's default configuration is obtained by loading %AppData%\NuGet\NuGet.config, then loading any nuget.config or .nuget\nuget.config starting from root of drive and ending in current directory.
nuget push <package path> [API key] [options]
Specify the path to the package and your API key to push the package to the server.
Source | Specifies the server URL. If not specified, nuget.org is used unless DefaultPushSource config value is set in the NuGet config file.
Starting with NuGet 2.5, if NuGet.exe identifies a UNC/folder source, it will perform the file copy to the source. |
ApiKey | The API key for the server. |
Timeout | Specifies the timeout for pushing to a server in seconds. Defaults to 300 seconds (5 minutes). |
Help | help |
Verbosity | Display this amount of details in the output: normal, quiet, detailed. |
NonInteractive | Do not prompt for user input or confirmations. |
ConfigFile | The NuGet configuation file. If not specified, file %AppData%\NuGet\NuGet.config is used as configuration file. |
nuget push foo.nupkg 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
nuget push foo.nupkg 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s http://customsource/
nuget push foo.nupkg
nuget push foo.nupkg.symbols
nuget push foo.nupkg -Timeout 360
nuget push *.nupkg
Starting with NuGet 2.5 you can now push to a UNC/Folder source
nuget.exe push -source \\mycompany\repo\ mypackage.1.0.0.nupkg
Saves an API key for a given server URL. When no URL is provided API key is saved for the NuGet gallery.
nuget setapikey <API key> [options]
Specify the API key to save and an optional URL to the server that provided the API key.
Source | Server URL where the API key is valid. |
Help | help |
Verbosity | Display this amount of details in the output: normal, quiet, detailed. |
NonInteractive | Do not prompt for user input or confirmations. |
ConfigFile | The NuGet configuation file. If not specified, file %AppData%\NuGet\NuGet.config is used as configuration file. |
nuget setapikey 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
nuget setapikey 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -Source http://example.com/nugetfeed
Provides the ability to manage list of sources located in %AppData%\NuGet\NuGet.config
nuget sources <List|Add|Remove|Enable|Disable|Update> -Name [name] -Source [source]
Name | Name of the source. |
Source | Path to the package(s) source. |
UserName | UserName to be used when connecting to an authenticated source. |
Password | Password to be used when connecting to an authenticated source. |
StorePasswordInClearText | Do not encrypt the password and store it in clear text. (Default: False) |
Help | help |
Verbosity | Display this amount of details in the output: normal, quiet, detailed. |
NonInteractive | Do not prompt for user input or confirmations. |
ConfigFile | The NuGet configuation file. If not specified, file %AppData%\NuGet\NuGet.config is used as configuration file. |
Generates a nuspec for a new package. If this command is run in the same folder as a project file (.csproj, .vbproj, .fsproj), it will create a tokenized nuspec file.
nuget spec [package id]
AssemblyPath | Assembly to use for metadata. |
Force | Overwrite nuspec file if it exists. |
Help | help |
Verbosity | Display this amount of details in the output: normal, quiet, detailed. |
NonInteractive | Do not prompt for user input or confirmations. |
ConfigFile | The NuGet configuation file. If not specified, file %AppData%\NuGet\NuGet.config is used as configuration file. |
nuget spec
nuget spec MyPackage
nuget spec -a MyAssembly.dll
Update packages to latest available versions. This command also updates NuGet.exe itself.
nuget update <packages.config|solution>
Source | A list of package sources to search for updates. |
Id | Package ids to update. |
RepositoryPath | Path to the local packages folder (location where packages are installed). |
Safe | Looks for updates with the highest version available within the same major and minor version as the installed package. |
Self | Update the running NuGet.exe to the newest version available from the server. |
Verbose | Show verbose output while updating. |
Prerelease | Allows updating to prerelease versions. This flag is not required when updating prerelease packages that are already installed. |
Help | help |
Verbosity | Display this amount of details in the output: normal, quiet, detailed. |
NonInteractive | Do not prompt for user input or confirmations. |
FileConflictAction | The action to take, when asked to overwrite or ignore existing files referenced by the project: Overwrite, Ignore, None. |
ConfigFile | The NuGet configuation file. If not specified, file %AppData%\NuGet\NuGet.config is used as configuration file. |
nuget update
nuget update -Safe
nuget update -Self