'nuget'无法识别,但其他nuget命令正常工作

时间:2012-10-24 19:28:32

标签: visual-studio nuget-package

我正在尝试使用http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory创建一个nuget包 作为参考。 Visual Studio中的我的包管理器控制台不允许我使用'nuget'命令。 我能够'Get-help 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 AIN。

在行:1个字符:6  + nuget<<<<     + CategoryInfo:ObjectNotFound:(nuget:String)[],CommandNotFoundException     + FullyQualifiedErrorId:CommandNotFoundException

我尝试了以下解决方案:

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

2 - ;卸载并重新安装

3>创建一个powershell配置文件(之前不存在,这实际上破坏了所有内容)

我将Visual Studio 2012 Ultimate试用版升级到注册后,问题就出现了。我原本安装了VS 12 Pro。我不知道这是否与它有任何关系,但我注意到其他有类似问题的人已经安装了10和12。

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

更新---尝试下载命令行工具,如下所示。这导致什么都没有起作用。我试图卸载,现在我在vs2010扩展中有一个项目没有启用安装或unistall按钮的nuget。这让我相信它与2010年和2012年安装的扩展有关,这些扩展在我的小戏剧中占有一席之地。如果有人也知道如何修改可卸载的扩展,请提供建议,但我会尝试另一个问题。

9 个答案:

答案 0 :(得分:128)

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

我要解决的步骤是:


<强>更新

使用以下命令可以在项目中轻松安装NuGet:

  

Install-Package NuGet.CommandLine

答案 1 :(得分:54)

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

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

    cinst Nuget.CommandLine

  3. 在命令提示符下。这将安装nuget和setup环境路径,因此nuget始终可用。

答案 2 :(得分:32)

[Package Manager Console]中尝试以下

Install-Package NuGet.CommandLine

答案 3 :(得分:15)

nuget命令行工具不附带vsix文件,它是一个单独的下载

https://github.com/nuget/home

答案 4 :(得分:13)

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

  1. 打开系统PATH变量并添加nuget.exe的位置(对我来说这是:C:\Program Files (x86)\NuGet\Visual Studio 2013
  2. 重新启动Visual Studio
  3. 我会将此作为评论发布给您的answer @done_merson,但我没有获得所需的声誉。

答案 5 :(得分:8)

在Visual Studio中:

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

在PM:

Install-Package NuGet.CommandLine

关闭Visual Studio并再次打开它。

答案 6 :(得分:6)

  • 解决方案资源管理器中右键单击您的项目。
  • 选择管理解决方案的NuGet包
  • 由Microsoft搜索 NuGet.CommandLine 并安装它。 Search Nuget.CommandLine
  • 完成安装后,您会在其中找到名为 packages 的文件夹 你的项目。转到解决方案资源管理器并查找它。 packages
  • 内部包查找名为 NuGet.CommandLine.3.5.0 的文件夹,此处3.5.0只是版本名称,您的文件夹名称将相应更改。 nuGet COmmand Line
  • NuGet.CommandLine.3.5.0 内查找名为 tools 的文件夹。 tools
  • 工具内,您将获得 nuget.exe nuget.exe

答案 7 :(得分:3)

通过找到nuget.exe并转移到易于键入的路径(c:\ nuget \ nuget)然后使用此路径调用nuget,我解决了这个问题。这似乎解决了这个问题。 包管理器控制台中的c:\ nuget \ nuget按预期工作。 我试图找到控制台正在使用的路径并更改环境路径,但却无法以这种方式使其工作。

答案 8 :(得分:0)

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

这将使nuget在任何项目中都可以在全球范围内使用。