“nuget”不被识别,但是其他nuget命令正在工作
我试图创build一个nuget包使用http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory作为参考。 Visual Studio中的我的包pipe理器控制台不允许使用'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,函数,脚本文件或可操作程序的名称。 检查名称的拼写,或者如果包含path,请validationpath是否正确并尝试添加。
在行:1 char:6 + nuget <<<< + CategoryInfo:ObjectNotFound:(nuget:String)[],CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException
我已经尝试了以下解决scheme:
1>closures所有项目并重新启动
2>卸载并重新安装
3>创build一个PowerShellconfiguration文件(这并不存在之前,这实际上打破了一切)
将Visual Studio 2012 Ultimate试用版升级到注册后,问题开始出现。 我原来安装了VS 12 Pro。 我不知道这是否真的有什么关系,但我注意到其他有类似问题的人安装了10和12。
我的问题是“有谁知道还有什么要尝试吗?” 我的理论是缺lessnuget命令的path,但我找不到如何configuration程序包pipe理器控制台使用的path,我不确定实际存储cmdlet nuget的位置。
更新—尝试下载命令行工具,如下所示。 这导致再没有工作。 我试图卸载,现在我有一个项目在vs2010的扩展nuget没有安装或unistallbutton启用。 这使我相信它与2010年和2012年安装的扩展有关,在我的小剧中有一部分。 如果任何人也知道如何nuke一个可卸载的扩展名,请告知,但我会尝试另一个问题。
Nuget.exe放置在项目的.nuget
文件夹中。 它不能在包pipe理器控制台中直接执行,而是由Powershell命令执行,因为这些命令为自己构build自定义path。
我要解决的步骤是:
- 从https://github.com/NuGet/NuGet.Client/releases下载NuGet.exe(; 优先发布最新版本 );
- 将NuGet.exe放在
C:\Program Files\NuGet\Visual Studio 2012
(或VS版本)中; - 在PATH环境variables中添加
C:\Program Files\NuGet\Visual Studio 2012
(或您的VS版本)(请参阅http://www.itechtalk.com/thread3595.html作为操作指南);( 说明在这里 )。 - closures并打开Visual Studio。
更新
NuGet可以使用以下命令轻松安装在您的项目中:
安装包NuGet.CommandLine
有很多更好的方法来做到这一点。
- 在你想要打包的项目中安装Nuget.Build包。 安装后可能需要closures并重新打开解决scheme。
-
通过巧克力安装nuget – 更好。 安装巧克力: https : //chocolatey.org/ ,然后运行
cinst Nuget.CommandLine
在您的命令提示符下。 这将安装nuget和安装环境path,所以nuget总是可用的。
nuget命令行工具不包含vsix文件,它是一个单独的下载
在[Package Manager Console]
尝试下面的
Execute "Install-Package NuGet.CommandLine"
您也可以尝试将系统variablespath设置为您的nuget exe的位置并重新启动VS.
- 打开你的系统
PATH
variables,并添加nuget.exe的位置(对于我来说,这是:C:\Program Files (x86)\NuGet\Visual Studio 2013
) - 重新启动Visual Studio
我会张贴这个作为你的回答 @done_merson的评论,但我没有所需的声誉做到这一点。
- 在解决scheme资源pipe理器中右键单击您的项目。
- selectpipe理NuGet包解决scheme 。
- searchMicrosoft的NuGet.CommandLine并安装它。
- 完成安装后,您将在项目中find一个名为packages的文件夹。 去解决scheme资源pipe理器,并find它。
- 在包内部寻找一个名为NuGet.CommandLine.3.5.0的文件夹,在这里3.5.0只是版本名称,您的文件夹名称将相应地改变。
- 在NuGet.CommandLine.3.5.0里面找一个名为tools的文件夹。
- 里面的工具,你会得到你的nuget.exe
通过findnuget.exe并移动到一个简单的typespath(c:\ nuget \ nuget),然后用这个path调用nuget来解决这个问题。 这似乎解决了这个问题。 包pipe理器控制台上的c:\ nuget \ nuget按预期工作。 我试图find控制台正在使用的path,并改变环境path,但永远不能以这种方式得到它的工作。
在Visual Studio中:
Tools -> Nuget Package Manager -> Package Manager Console.
在PM:
Install-Package NuGet.CommandLine
closuresVisual Studio并再次打开它。
- 在Visual Studio 2013上启用NuGet包还原
- 有没有办法从nuget.org下载软件包,然后离线安装到Visual Studio中?
- 如何删除TeamCity Nuget Feed上特定版本的软件包?
- NuGet和多种解决scheme
- System.Web.WebPages.Razor.Configuration.HostSection不能转换为… web.config问题
- 如何在Visual Studio代码中安装Nuget包
- 由于“无法初始化PowerShell主机”,无法安装nuget软件包
- 如何获得.nupkg文件的url?
- 将内容文件设置为nuget包中的“copy local:always”