58

While running a batch file, I get the below error: nuget is not a recognized as an internal or external command It's not working from command prompt. Have a look at the below screenshot. readably sized image

ruffin
  • 16,507
  • 9
  • 88
  • 138
Varun Maggo
  • 1,224
  • 2
  • 13
  • 27

7 Answers7

84

This happens when either you are not in the directory where the nuget.exe is located or your environment variables are not set for it.

  1. Make sure you have downloaded NuGet.exe.
  2. Navigate to it and right click, then click on properties.
  3. Copy the location of it.
  4. Navigate to Control Panel > System > Advanced System Settings > Environment Variables.

Windows 10

  1. Double click the variable Path click add new, paste in the location of the nuget.exe.

  2. Restart Command Prompt and the issue should be fixed.

Other operating Systems

  1. Double click the variable Path, If there is no other locations simply paste it in. If there is add a semi colon to the end of it and the paste it in.

  2. Restart Command Prompt and the issue should be fixed.

Braden Brown
  • 3,111
  • 1
  • 20
  • 18
  • 9
    Restart Command Prompt and the issue should be fixed, is important one. – Aniket Bhansali Apr 17 '18 at 07:02
  • 40
    Note for anyone doing this in a hurry: the location is the path of the folder that contains nuget.exe, not the full path of nuget.exe (i.e. your location path does not have nuget.exe on the end) – tomRedox Sep 24 '18 at 11:34
  • 3
    The environment variable is called "Path". Maybe it's my dyslexia or maybe it's the lack of quotes, but I read step 5 at least 10 times before I understood that. Posting this for whoever is dysfunctional in the same way I am. – Martijn Jan 13 '23 at 09:49
71

nuget is not a recognized as an internal or external command

That because NuGet is a external command, can not be recognized by Windows in an arbitrary directory, you should type the "NuGet" or "NuGet.exe" in the path where NuGet.exe exists and if you want type it in an arbitrary directory, you should download the NuGet.exe (Not VSIX) from NuGet.org and set the local path of NuGet.exe into your path environment variable.

Joy
  • 1,171
  • 9
  • 15
32

Instead of using nuget.exe in your path, use .net version dotnet nuget

Bahram
  • 1,464
  • 2
  • 22
  • 38
13
  1. Download the Nuget Exe, keep it in a folder you want to. For ex : D:\Software\Nuget
  2. Open Cmd prompt with the same path.
  3. To create this .nuspec file, execute the following command in a command prompt.

    D:\Software\Nuget>Nuget.exe spec enter image description here

3

For .NET Core / .NET 5:

Use the command dotnet pack

Instead of using a .nuspec file you set those properties in your .csproj file, for example:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <PackageId>MyCompany.Project</PackageId>
    <Version>1.0.0.1</Version>
  </PropertyGroup>

...

</Project>

With above config, running dotnet pack will create a file named

MyCompany.Project.1.0.0.1.nupkg

For more details and config options, see: https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#pack-target

Serj Sagan
  • 28,927
  • 17
  • 154
  • 183
  • Hi, i have few standalone projects which are not referenced anywhere, I want to include them as well in nuget package, please advise? – Rohit Vyas Sep 26 '22 at 06:17
0

I follow this link and it work fine with me

How to Fix “not recognized as an internal or external command” in Windows

just add the path of the nuget in the path variable

Mohamed Salah
  • 160
  • 1
  • 5
0

1 - Installing Package:

I followed this Microsoft documentation. Use the nuget.exe CLI in the package console

Note:- This configuration is specific to a project and this adds dependency to the projects package.config

2 - Installing exe:

You can also follow the below documentation, again from Microsoft to download and set the path to nuget.exe folder, as others in this thread has explained. NuGet CLI reference

İsmail Y.
  • 3,579
  • 5
  • 21
  • 29
Varun
  • 422
  • 3
  • 14