【问题标题】:'nuget' is not recognized but other nuget commands working'nuget' 无法识别,但其他 nuget 命令正常工作
【发布时间】:2023-03-30 18:45:01
【问题描述】:

我正在尝试使用 http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory 创建一个 nuget 包 作为参考。 Visual Studio 中的包管理器控制台不允许我使用“nuget”命令。 我能够“获取帮助 nuguet”,它会显示:

包括以下 NuGet cmdlet。

    Cmdlet                  Description
    ------------------      ----------------------------------------------
    Get-Package             Gets the set of packages available from the package source.

    Install-Package         Installs a package and its dependencies into the project.

    Uninstall-Package       Uninstalls a package. If other packages depend on this package, 
                            the command will fail unless the –Force option is specified.

    Update-Package          Updates a package and its dependencies to a newer version.

    Add-BindingRedirect     Examines all assemblies within the output path for a project
                            and adds binding redirects to the application (or web) 
                            configuration file where necessary.

    Get-Project             Returns a reference to the DTE (Development Tools Environment) 
                            for the specified project. If none is specifed, returns the 
                            default project selected in the Package Manager Console.

    Open-PackagePage        Open the browser pointing to ProjectUrl, LicenseUrl or 
                            ReportAbuseUrl of the specified package.

    Register-TabExpansion   Registers a tab expansion for the parameters of a command.
  • 但是,每当我使用 nuget 启动命令时,都会给出:

术语“nuget”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并尝试 ag 是的。

在 line:1 char:6 + 核子

我尝试了以下解决方案:

1>关闭所有项目并重新启动

2>卸载并重新安装

3>创建一个 powershell 配置文件(以前不存在,这实际上破坏了一切)

在我将我的 Visual Studio 2012 Ultimate 试用版升级到注册后,问题开始出现。我最初安装了 VS 12 Pro。我不知道这是否真的与它有关,但我注意到其他有类似问题的人安装了 vs 10 和 12。

我的问题是“有人知道还有什么可以尝试的吗?”我的理论是缺少 nuget 命令的路径,但我找不到如何配置包管理器控制台使用的路径,而且我不确定 cmdlet nuget 的实际存储位置。

已更新---尝试下载命令行工具,如下所示。这导致没有任何工作再次起作用。我试图卸载,现在我在 nuget 的 vs2010 扩展中有一个项目,它没有启用安装或卸载按钮。这让我相信它与通过 2010 年和 2012 年安装的扩展程序有关,这在我的小戏剧中有一部分。如果有人也知道如何对可卸载的扩展进行核攻击,也请提出建议,但我会为此尝试另一个问题。

【问题讨论】:

  • 您是否启用了 UAC 并尝试以管理员身份运行 Visual Studio 来卸载扩展?
  • Install-Package NuGet.CommandLine 是正确答案。
  • @live-love OP 正在尝试创建一个包,而不是安装一个包
  • 这可能会有所帮助 - stackoverflow link

标签: visual-studio nuget-package


【解决方案1】:

Nuget.exe 位于项目的.nuget 文件夹中。不能直接在 Package Manager Console 中执行,而是通过 Powershell 命令执行,因为这些命令会为自己构建自定义路径。

我要解决的步骤是:


更新

可以使用以下命令轻松地将 NuGet 安装到您的项目中:

安装包 NuGet.CommandLine

【讨论】:

  • 应该输入什么作为“变量名”?
  • 我必须将 nuget.exe 放在与运行 nuget 命令的驱动器相同的驱动器上(并相应地调整 PATH 环境变量值)
  • 您可以通过转到控制面板 > 系统 > 高级系统设置然后在系统属性窗口中查看 PATH 环境变量,单击高级选项卡,您将看到“环境变量...”按钮.在系统变量组下找到 PATH 环境变量。然后通过用分号 (;) 分隔来添加另一个路径。
  • 一定有一些错误......我得到了Package 'NuGet.CommandLine.3.3.0' already exists in project 'TimeLoop',但是当我写 NuGet 时,我得到一个命令不存在的错误。
  • Install-Package NuGet.CommandLine 很糟糕,因为,1. 它添加了 NuGet.CommandLine 作为我项目的依赖项(ew!),以及 2. 它需要在每个项目中单独完成。 npm 有一个“全局安装”选项 - NuGet 没有类似的东西吗!?
【解决方案2】:

[Package Manager Console] 试试下面的

Install-Package NuGet.CommandLine

【讨论】:

  • 在“Install-Package NuGet.CommandLine”之后,可以在PM中执行nuget.exe。
  • Execute :术语“Execute”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。 VS2015
  • 我遇到了和@rob一样的问题。
  • 不要输入整个“执行...”行。只需输入:Install-Package NuGet.CommandLine
  • 这拯救了我的一天
【解决方案3】:

有很多更好的方法可以做到这一点。

  1. 在您要打包的项目中安装 Nuget.Build 包。安装后可能需要关闭并重新打开解决方案。
  2. 通过 Chocolatey 安装 nuget - 更好。安装 Chocolatey:https://chocolatey.org/,然后运行

    cinst Nuget.CommandLine

在您的命令提示符下。这将安装 nuget 并设置环境路径,因此 nuget 始终可用。

【讨论】:

  • 除非你使用npm安装chocolatey
  • 在没有其他答案的情况下,这对我来说马上就奏效了。 Chocolatey 让我不必手动进行 PATH 配置
【解决方案4】:

您也可以尝试将系统变量路径设置为您的 nuget exe 的位置并重新启动 VS。

  1. 打开你的系统PATH变量并添加你的nuget.exe的位置(对我来说这是:C:\Program Files (x86)\NuGet\Visual Studio 2013
  2. 重启 Visual Studio

我会将此作为评论发布到您的answer@done_merson,但我没有这样做所需的声誉。

【讨论】:

    【解决方案5】:

    在 Visual Studio 中:

    Tools -> Nuget Package Manager -> Package Manager Console.
    

    下午:

    Install-Package NuGet.CommandLine
    

    关闭 Visual Studio 并再次打开。

    【讨论】:

      【解决方案6】:

      nuget命令行工具没有自带vsix文件,需要单独下载

      https://github.com/nuget/home

      【讨论】:

      • 这是对这个特定问题的最正确答案。
      【解决方案7】:
      • 解决方案资源管理器中右键单击您的项目。
      • 选择为解决方案管理 NuGet 包
      • 搜索 Microsoft 的 NuGet.CommandLine 并安装它。
      • 完成安装后,您会在以下位置找到名为 packages 的文件夹 你的项目。转到解决方案资源管理器并寻找它。
      • 在包中寻找一个名为NuGet.CommandLine.3.5.0的文件夹,这里3.5.0只是版本名称,你的文件夹名称会相应改变。
      • NuGet.CommandLine.3.5.0 中查找名为 tools 的文件夹。
      • tools 中,您将获得 nuget.exe

      【讨论】:

      • 发生异常。 (来自 HRESULT 的异常:0x80020009 (DISP_E_EXCEPTION))
      【解决方案8】:

      https://www.nuget.org/downloads 中检索nuget.exe。将其复制到本地文件夹并将该文件夹添加到PATH 环境变量。

      这将使 nuget 从任何项目全局可用。

      【讨论】:

      • 就是这么简单。创建“c:\Nuget”,然后转到环境变量,双路径,单击新建,输入“C:\Nuget”就完成了。什么都做,Visual Studio 是 2010。使用 Powershell 或命令行。
      【解决方案9】:

      我通过找到 nuget.exe 并移至易于键入的路径 (c:\nuget\nuget) 并使用此路径调用 nuget 来解决此问题。这似乎可以解决问题。 包管理器控制台上的 c:\nuget\nuget 按预期工作。 我试图找到控制台正在使用的路径并更改环境路径,但始终无法让它以这种方式工作。

      【讨论】:

      • 这应该是公认的答案。真的没有比这更复杂的了!
      • 2019 年 11 月更新 - nuget.exe 是 Nuget 命令行工具(通过 Powershell 或 cmd 控制台,或 VS 中的 Nuget 包管理器控制台)所需的 .exe - 请参阅此处 docs.microsoft.com/en-us/nuget/reference/…。如果您没有,请在此处获取 - nuget.org/downloads
      【解决方案10】:

      按照这些步骤操作。

      1. 在 Visual Studio 中转到工具-> NuGet 包管理器->包管理器控制台

      2. 在命令下运行

        安装包 NuGet.CommandLine

      3. 关闭visual studio并重新打开

      4. 重复步骤 1

      5. 运行你的 nuget 命令 例如。 nuget push C:\Users\syaads\Debug\Library.1.0.32.nupkg -Source Artifactory

      【讨论】:

        【解决方案11】:

        您可以在您的个人资料文件夹中找到nuget.exe

        C:\Users\YourProfileName.nuget\packages\nuget.commandline\6.0.0\tools

        如果要全局使用,请在PATH环境变量中注册以上路径。

        具体操作方法请见Add to the PATH in Windows 10

        【讨论】:

          猜你喜欢
          • 2020-05-19
          • 2017-08-14
          • 1970-01-01
          • 1970-01-01
          • 2018-02-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-13
          相关资源
          最近更新 更多