Próbuję utworzyć pakiet NuGet przy użyciu http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory jako odniesienia. Moja konsola menedżera pakietów w programie Visual Studio nie pozwala mi na użycie polecenia „nuget”. Jestem w stanie „Get-help nuguet” i wyświetla:
Uwzględniono następujące polecenia cmdlet 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.
- Jednak za każdym razem, gdy zaczynam polecenia z nugetem, daje:
Termin „nuget” nie jest rozpoznawany jako nazwa polecenia cmdlet, funkcji, pliku skryptu lub programu operacyjnego. Sprawdź pisownię nazwy lub, jeśli ścieżka została dołączona, sprawdź, czy jest ona poprawna i spróbuj ponownie.
W wierszu: 1 char: 6 + nuget <<<< + CategoryInfo: ObjectNotFound: (nuget: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
Wypróbowałem następujące rozwiązania:
1> zamknięcie wszystkich pozycji i ponowne uruchomienie
2> odinstalowanie i ponowne zainstalowanie
3> tworzenie pliku profilu PowerShell (wcześniej tego nie było, a to właściwie wszystko zepsuło)
Problem zaczął się pojawiać po uaktualnieniu mojej wersji próbnej programu Visual Studio 2012 Ultimate do zarejestrowanej. Pierwotnie miałem zainstalowany VS 12 Pro. Nie wiem, czy to naprawdę ma z tym coś wspólnego, ale zauważyłem, że inne osoby, które miały podobne problemy, mają zainstalowane wersje 10 i 12.
Moje pytanie brzmi: „czy ktoś wie, czego jeszcze spróbować?” Moja teoria mówi, że brakuje ścieżki do polecenia nuget, ale nie mogę znaleźć sposobu skonfigurowania ścieżek używanych przez konsolę menedżera pakietów i nie jestem pewien, gdzie faktycznie przechowywany jest nuget polecenia cmdlet.
Zaktualizowano - próbowano pobrać narzędzie wiersza poleceń, jak sugerowano poniżej. Doprowadziło to do tego, że nic nie działało. Próbowałem odinstalować, a teraz mam element w rozszerzeniach vs2010 dla NuGet, który nie ma włączonego przycisku instalacji ani unistall. To prowadzi mnie do wniosku, że ma to związek z rozszerzeniami zainstalowanymi w latach 2010 i 2012, które mają udział w moim małym dramacie. Jeśli ktoś również wie, jak nuke'ować rozszerzenie, którego nie można odinstalować, proszę również o poradę, ale spróbuję odpowiedzieć na inne pytanie.
źródło
Odpowiedzi:
Możesz również spróbować ustawić ścieżkę zmiennej systemowej na lokalizację pliku nuget exe i ponownie uruchomić VS.
PATH
zmiennej i dodać lokalizację nuget.exe (dla mnie jest to:C:\Program Files (x86)\NuGet\Visual Studio 2013
)Opublikowałbym to jako komentarz do Twojej odpowiedzi @done_merson, ale nie miałem wymaganej reputacji, aby to zrobić.
źródło
Nuget.exe zostanie umieszczony w
.nuget
folderze projektu. Nie można go wykonać bezpośrednio w konsoli Menedżera pakietów, ale jest ono wykonywane przez polecenia programu PowerShell, ponieważ te polecenia tworzą dla siebie niestandardową ścieżkę.Moje kroki do rozwiązania to:
C:\Program Files\NuGet\Visual Studio 2012
(lub swojej wersji VS);C:\Program Files\NuGet\Visual Studio 2012
(lub swoją wersję VS) w zmiennej środowiskowej PATH(zobacz http://www.itechtalk.com/thread3595.html jako poradnik)( instrukcje tutaj ).Aktualizacja
NuGet można łatwo zainstalować w projekcie za pomocą następującego polecenia:
źródło
Package 'NuGet.CommandLine.3.3.0' already exists in project 'TimeLoop'
ale kiedy piszę NuGet, pojawia się błąd, że polecenie nie istnieje.Install-Package NuGet.CommandLine
jest okropne, ponieważ 1. DodajeNuGet.CommandLine
jako zależność do mojego projektu (ew!), oraz 2. Trzeba to robić oddzielnie w każdym projekcie.npm
ma opcję „instalacja globalna” - czy NuGet nie ma czegoś podobnego !?Jest na to dużo przyjemniejsze sposoby.
Zainstaluj nuget przez chocolatey - znacznie ładniej. Zainstaluj chocolatey: https://chocolatey.org/ , a następnie uruchom
cinst Nuget.CommandLine
w wierszu polecenia. Spowoduje to zainstalowanie ścieżek środowiska nuget i setup, więc nuget jest zawsze dostępny.
źródło
W
[Package Manager Console]
spróbuj poniżejźródło
Install-Package NuGet.CommandLine
Narzędzie wiersza poleceń nuget nie jest dostarczane z plikiem vsix, jest to osobne pobieranie
https://github.com/nuget/home
źródło
źródło
W programie Visual Studio:
W PM:
Zamknij program Visual Studio i otwórz go ponownie.
źródło
Obejrzałem to, znajdując nuget.exe i przechodząc do ścieżki łatwej do wpisania (c: \ nuget \ nuget), a następnie wywołując nuget z tą ścieżką. Wydaje się, że to rozwiązuje problem. c: \ nuget \ nuget w konsoli menedżera pakietów działa zgodnie z oczekiwaniami. Próbowałem znaleźć ścieżkę, której używa konsola i zmienić ścieżkę środowiska, ale nigdy nie byłem w stanie zmusić jej do działania w ten sposób.
źródło
Pobierz
nuget.exe
zhttps://www.nuget.org/downloads
. Skopiuj go do folderu lokalnego i dodaj ten folder doPATH
zmiennej środowiskowej.Dzięki temu nuget będzie dostępny globalnie z dowolnego projektu.
źródło