“ nuget”无法识别,但其他 nuget 命令可以工作

我正在尝试使用 < a href = “ http://docs.nuget.org/docs/create-package/create-and-publications-a-package # From _ a _ Convention _ based _ working _ directory”rel = “ norefrer”> http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#from_a_convention_based_working_directory 来创建一个 nuget 包 作为参考。 VisualStudio 中的包管理器控制台不允许我使用“ nuget”命令。 我能够“获取帮助”,它显示:

包括以下 NuGetcmdlet。

    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 再见。

在行: 1 char: 6 + nuget < < < + Category oryInfo: ObjectNotfound: (nuget: String)[] ,CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

我尝试了以下解决方案:

关闭所有项目并重新启动

2 > 卸载和重新安装

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

在我将 VisualStudio2012Ultimate 试用版升级到注册版之后,问题开始出现。我最初安装的是 VS12 Pro。我不知道这是否真的与它有什么关系,但我注意到,其他人有类似的问题已安装了10和12。

我的问题是“有人知道还能做什么吗?”我的理论是,nuget 命令的路径丢失了,但是我找不到如何配置包管理器控制台使用的路径,而且我不确定 cmdlet nuget 实际存储在哪里。

更新——-尝试下载命令行工具,如下所示。这样就不会再起作用了。我尝试卸载,现在我有一个项目在 vs2010扩展的 nuget 没有安装或卸载按钮启用。这使我相信,这与2010年和2012年安装的扩展有关,这在我的小戏剧中也有一部分。如果有人也知道如何核武器一个无法安装的扩展,请也建议,但我会尝试另一个问题。

229350 次浏览

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

Https://github.com/nuget/home

我通过找到 nuget.exe 并转到一个容易输入的路径(c: nugetnuget) ,然后使用这个路径调用这个 nuget.exe 来解决这个问题。这似乎解决了问题。 在包管理器控制台上的 nuget 按预期工作。 我试图找到控制台正在使用的路径并更改环境路径,但从未能以这种方式使其工作。

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

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

我会把这个作为一个评论发布到你的 回答@done _ merson,但我没有这样做所需的声誉。

Exe 放置在项目的 .nuget文件夹中。它不能直接在 Package Manager Console 中执行,但是可以通过 Powershell 命令执行,因为这些命令为自己构建自定义路径。

我要解决的问题是:


更新

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

安装-包 NuGet.CommandLine

还有更好的方法。

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

    Cinst Nuget CommandLine

这将安装 nuget 和安装环境路径,所以 nuget 总是可用的。

[Package Manager Console]中尝试下面的代码

Install-Package NuGet.CommandLine
  • 溶液探测器溶液探测器中右键单击您的项目。
  • 选择 为解决方案管理 NuGet 包
  • 通过 Microsoft 搜索 NuGet CommandLine并安装它。 Search Nuget.CommandLine
  • 完成安装后,您将在 你的项目。到解决方案浏览器并寻找它。 packages
  • 在软件包内部寻找一个名为 NuGet. CommandLine. 3.5.0的文件夹,这里3.5.0只是版本名称,你的文件夹名称将相应地改变。 nuGet COmmand Line
  • NuGet. CommandLine. 3.5.0中查找名为 工具的文件夹。 tools
  • 工具中,您将得到您的 < strong > nuget.exe nuget.exe

在 Visual Studio 中:

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

下午:

Install-Package NuGet.CommandLine

关闭 VisualStudio 并再次打开它。

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

这将使得 nuget 可以在全球范围内,从任何项目中获得。

按照以下步骤操作。

  1. 在可视化工作室到工具-> NuGet 包管理器-> 包管理器控制台

  2. 按照命令运行

    安装-包 NuGet.CommandLine

  3. 关闭视觉工作室,重新打开

  4. 重复步骤1

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

您可以在您的配置文件夹中找到 nuget.exe:

C: UserYourProfileName. nuget 包 nuget.commandline 6.0.0工具

如果你想在全球范围内使用它,请在以上路径的环境变量中注册。

详细指南如何做到这一点,请参阅 在 Windows10中添加到 PATH

  1. https://www.nuget.org/downloads下载 nuget.exe。

  2. 在 C 驱动器的根目录中创建一个新文件夹,例如 c: nuget,将 nuget.ext 复制到 c 驱动器中的 nuget 文件夹并粘贴。

  3. 进入环境设置。

  4. 转到 System VariableSection = > ,选择变量名称 Path,双击 Path Variable = > ,然后单击最后一个 add c: nuget = > 中的 new 按钮,然后应用 = > save = > save。