Я пытаюсь создать пакет 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» не распознается как имя командлета, функции, файла сценария или работающей программы. Проверьте написание имени или, если был включен путь, убедитесь, что путь правильный, и попробуйте еще раз.
В строке: 1 символ: 6 + nuget <<<< + CategoryInfo: ObjectNotFound: (nuget: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
Я пробовал следующие решения:
1> закрытие всех элементов и перезапуск
2> удаление и переустановка
3> создание файла профиля PowerShell (этого раньше не было, и это фактически все сломало)
Проблема начала появляться после того, как я обновил пробную версию Visual Studio 2012 Ultimate до зарегистрированной. Изначально у меня был установлен VS 12 Pro. Я не знаю, имеет ли это какое-то отношение к этому, но я заметил, что у других, у которых были похожие проблемы, были установлены vs 10 и 12.
Мой вопрос: "Кто-нибудь знает, что еще попробовать?" Моя теория состоит в том, что путь к команде nuget отсутствует, но я не могу найти, как настроить пути, которые использует консоль диспетчера пакетов, и я не уверен, где на самом деле хранится nuget командлета.
Обновлено --- попытался загрузить инструмент командной строки, как предложено ниже. Это привело к тому, что снова ничего не работает. Я попытался удалить, и теперь у меня есть элемент в расширениях vs2010 для nuget, для которого не включена кнопка установки или удаления. Это заставляет меня думать, что это связано с расширениями, установленными в 2010 и 2012 годах, которые сыграли роль в моей маленькой драме. Если кто-то также знает, как уничтожить удаляемое расширение, посоветуйте, пожалуйста, также, но я попробую другой вопрос для этого.
источник
Ответы:
Вы также можете попробовать установить путь к системной переменной для местоположения вашего nuget exe и перезапустить VS.
PATH
переменную и добавить местоположение вашего nuget.exe (для меня это:C:\Program Files (x86)\NuGet\Visual Studio 2013
)Я бы опубликовал это как комментарий к вашему ответу @done_merson, но у меня не было необходимой репутации для этого.
источник
Nuget.exe находится по адресу
.nuget
папке вашего проекта. Он не может быть выполнен непосредственно в консоли диспетчера пакетов, но выполняется командами Powershell, поскольку эти команды создают для себя собственный путь.Мои шаги по решению:
C:\Program Files\NuGet\Visual Studio 2012
(или вашу версию VS);C:\Program Files\NuGet\Visual Studio 2012
(или свою версию VS) в переменную среды PATH(см. http://www.itechtalk.com/thread3595.html как инструкции)( инструкции здесь ).Обновить
NuGet можно легко установить в вашем проекте с помощью следующей команды:
источник
Package 'NuGet.CommandLine.3.3.0' already exists in project 'TimeLoop'
но когда я пишу NuGet, я просто получаю сообщение об ошибке, что команда не существует.Install-Package NuGet.CommandLine
ужасен, потому что: 1. Он добавляетNuGet.CommandLine
зависимость к моему проекту (фу!) и 2. Это нужно делать отдельно в каждом проекте.npm
есть опция «глобальной установки» - разве в NuGet нет чего-то подобного !?Есть гораздо более приятные способы сделать это.
Установить nuget через шоколадку - намного приятнее. Установите шоколадный: https://chocolatey.org/ , затем запустите
cinst Nuget.CommandLine
в командной строке. Это установит nuget и установит пути к среде, поэтому nuget всегда доступен.
источник
В
[Package Manager Console]
попробуйте нижеисточник
Install-Package NuGet.CommandLine
Инструмент командной строки nuget не поставляется с файлом vsix, он загружается отдельно
https://github.com/nuget/home
источник
источник
В Visual Studio:
В личку:
Закройте Visual Studio и снова откройте его.
источник
Я обошел это, найдя nuget.exe и перейдя к пути, который легко ввести (c: \ nuget \ nuget), а затем вызвал nuget с этим путем. Кажется, это решает проблему. c: \ nuget \ nuget в консоли диспетчера пакетов работает должным образом. Я попытался найти путь, который использовала консоль, и изменить путь к среде, но так и не смог заставить его работать таким образом.
источник
Получить
nuget.exe
изhttps://www.nuget.org/downloads
. Скопируйте его в локальную папку и добавьте эту папку вPATH
переменную среды.Это сделает nuget доступным глобально из любого проекта.
источник