'nuget' не распознается, но другие команды nuget работают
Я пытаюсь создать пакет nuget, используя http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory
как ссылка.
Моя консоль управления пакетами в Visual Studio не позволяет мне использовать команду "nuget".
Я могу "Get-help nuguet", и он отображает:
Включены следующие командлеты NuGet.
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" не распознается как имя командлета, функции, файла script или исполняемой программы. Проверьте правильность написания имени или если путь был включен, проверьте правильность пути и попробуйте ag
айн.
В строке: 1 char: 6
+ nuget < + CategoryInfo: ObjectNotFound: (nuget: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
Я пробовал следующие решения:
1 > закрытие всех элементов и перезапуск
2 > удаление и переустановка
3 > создание файла профиля powershell (этого раньше не было, и это фактически сломало все)
Проблема возникла после того, как я обновил пробную версию Visual Studio 2012 Ultimate до зарегистрированной. Первоначально у меня был VS 12 Pro. Я не знаю, действительно ли это имеет к этому отношение, но я заметил, что у других, у которых были подобные проблемы, были установлены 10 и 12.
Мой вопрос: "Кто-нибудь знает, что еще попробовать?" Моя теория заключается в том, что путь к команде nuget отсутствует, но я не могу определить, как настроить пути, используемые консолью диспетчера пакетов, и я не уверен, где действительно хранится nget.
Обновлено --- попытался загрузить инструмент командной строки, как предлагается ниже. Это ни к чему не приводит. Я попытался удалить, и теперь у меня есть элемент в vs2010 extions для nuget, у которого нет кнопки установки или unistall. Это заставляет меня думать, что это связано с расширениями, установленными в 2010 и 2012 годах, которые участвуют в моей маленькой драме. Если кто-то знает, как наносить удаляемое расширение, пожалуйста, сообщите также, но я попробую еще один вопрос.
Ответы
Ответ 1
Вы также можете попробовать установить путь системной переменной к местоположению вашего nuget exe и перезапустить VS.
- Откройте переменную system
PATH
и добавьте местоположение вашего nuget.exe(для меня это: C:\Program Files (x86)\NuGet\Visual Studio 2013
)
- Перезапустить Visual Studio
Я бы разместил это как комментарий к вашему answer @done_merson, но у меня не было необходимой репутации, чтобы сделать это.
Ответ 2
Nuget.exe находится в папке .nuget
вашего проекта. Он не может быть выполнен непосредственно в консоли диспетчера пакетов, но выполняется командами Powershell, потому что эти команды создают собственный путь для себя.
Могут быть решены следующие шаги:
Обновление
NuGet можно легко установить в свой проект, используя следующую команду:
Установочный пакет NuGet.CommandLine
Ответ 3
Есть намного лучшие способы сделать это.
в командной строке. Это установит пути nuget и настройки среды, поэтому nuget всегда доступен.
Ответ 4
В [Package Manager Console]
попробуйте следующее
Install-Package NuGet.CommandLine
Ответ 5
Инструмент командной строки nuget не поставляется с файлом vsix, он является отдельной загрузкой
https://github.com/nuget/home
Ответ 6
В Visual Studio:
Tools -> Nuget Package Manager -> Package Manager Console.
В ПМ:
Install-Package NuGet.CommandLine
Закройте Visual Studio и откройте его снова.
Ответ 7
- Щелкните правой кнопкой мыши свой проект в обозревателе решений.
- Выберите Управление пакетами NuGet для решения.
- Найдите NuGet.CommandLine от Microsoft и установите его.
![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]()
Ответ 8
Я обошел это, найдя nuget.exe и перейдя на простой путь (c:\nuget\nuget), а затем вызвав nuget с этим путем. Это, похоже, решает проблему.
c:\nuget\nuget на консоли диспетчера пакетов работает как ожидалось.
Я попытался найти путь, который консоль использовала и меняла путь к среде, но никогда не могла заставить его работать таким образом.
Ответ 9
Получить nuget.exe
из https://www.nuget.org/downloads
. Скопируйте его в локальную папку и добавьте эту папку в переменную среды PATH
.
Это сделает Nuget доступным по всему миру из любого проекта.