Ich versuche, ein Nuget-Paket mit http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory als Referenz zu erstellen . In meiner Package Manager-Konsole in Visual Studio kann ich den Befehl 'nuget' nicht verwenden. Ich kann 'Hilfe-Nuguet' erhalten und es wird angezeigt:
Die folgenden NuGet-Cmdlets sind enthalten.
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.
- Wenn ich jedoch Befehle mit Nuget starte, gibt es:
Der Begriff "Nuget" wird nicht als Name eines Cmdlets, einer Funktion, einer Skriptdatei oder eines bedienbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder wenn ein Pfad enthalten war, überprüfen Sie, ob der Pfad korrekt ist, und versuchen Sie es erneut.
In Zeile: 1 Zeichen: 6 + Nuget <<<< + CategoryInfo: ObjectNotFound: (Nuget: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
Ich habe folgende Lösungen ausprobiert:
1> Alle Elemente schließen und neu starten
2> deinstallieren und neu installieren
3> Erstellen einer Powershell-Profildatei (diese gab es vorher nicht und sie hat tatsächlich alles kaputt gemacht)
Das Problem trat auf, nachdem ich meine Visual Studio 2012 Ultimate-Testversion auf registriert aktualisiert hatte. Ich hatte ursprünglich den VS 12 Pro installiert. Ich weiß nicht, ob das wirklich etwas damit zu tun hat, aber ich habe festgestellt, dass andere, die ähnliche Probleme hatten, vs 10 und 12 installiert haben.
Meine Frage lautet: "Weiß jemand, was er sonst noch versuchen soll?" Meine Theorie ist, dass der Pfad zum Befehl nuget fehlt, aber ich kann nicht finden, wie die Pfade konfiguriert werden, die die Paketmanagerkonsole verwendet, und ich bin nicht sicher, wo das Cmdlet-Nuget tatsächlich gespeichert ist.
Aktualisiert --- habe versucht, das Befehlszeilentool wie unten vorgeschlagen herunterzuladen. Dies führte dazu, dass nichts mehr funktionierte. Ich habe versucht zu deinstallieren und jetzt habe ich ein Element in vs2010-Erweiterungen für Nuget, für das keine Schaltfläche zum Installieren oder Deinstallieren aktiviert ist. Dies lässt mich glauben, dass es mit Erweiterungen zu tun hat, die über 2010 und 2012 installiert wurden und einen Teil meines kleinen Dramas ausmachen. Wenn jemand auch weiß, wie man eine deinstallierbare Erweiterung nuklearisiert, raten Sie bitte auch, aber ich werde eine andere Frage dafür versuchen.
quelle
Antworten:
Sie können auch versuchen, den Pfad der Systemvariablen auf den Speicherort Ihrer Nuget-Exe festzulegen und VS neu zu starten.
PATH
und fügen Sie den Speicherort Ihrer nuget.exe (das ist für mich:C:\Program Files (x86)\NuGet\Visual Studio 2013
)Ich hätte dies als Kommentar zu Ihrer Antwort @done_merson gepostet, aber ich hatte nicht den erforderlichen Ruf, um dies zu tun.
quelle
Nuget.exe befindet sich im
.nuget
Ordner Ihres Projekts. Es kann nicht direkt in der Package Manager-Konsole ausgeführt werden, sondern wird von Powershell-Befehlen ausgeführt, da diese Befehle einen benutzerdefinierten Pfad für sich selbst erstellen.Meine zu lösenden Schritte sind:
C:\Program Files\NuGet\Visual Studio 2012
(oder Ihrer VS-Version).C:\Program Files\NuGet\Visual Studio 2012
(oder Ihre VS-Version) die Umgebungsvariable PATH hinzu(Siehe http://www.itechtalk.com/thread3595.html als Anleitung)( Anweisungen hier ).Aktualisieren
NuGet kann mit dem folgenden Befehl einfach in Ihrem Projekt installiert werden:
quelle
Package 'NuGet.CommandLine.3.3.0' already exists in project 'TimeLoop'
aber wenn ich NuGet schreibe, bekomme ich nur eine Fehlermeldung, dass der Befehl nicht existiert.Install-Package NuGet.CommandLine
ist schrecklich, weil 1. esNuGet.CommandLine
als Abhängigkeit zu meinem Projekt hinzugefügt wird (ew!) und 2. es in jedem Projekt separat durchgeführt werden muss.npm
hat eine 'globale Installation' Option - hat NuGet nicht etwas Ähnliches?Es gibt viel schönere Möglichkeiten, dies zu tun.
Installieren Sie Nuget über Chocolatey - viel schöner. Installieren Sie schokoladig: https://chocolatey.org/ und führen Sie es aus
cinst Nuget.CommandLine
in Ihrer Eingabeaufforderung. Dadurch werden Nuget- und Setup-Umgebungspfade installiert, sodass Nuget immer verfügbar ist.
quelle
In
[Package Manager Console]
versuchen , die untenquelle
Install-Package NuGet.CommandLine
Das Nuget-Befehlszeilentool wird nicht mit der vsix-Datei geliefert, sondern ist ein separater Download
https://github.com/nuget/home
quelle
quelle
In Visual Studio:
In PM:
Schließen Sie Visual Studio und öffnen Sie es erneut.
quelle
Ich habe dies umgangen, indem ich die Datei nuget.exe gefunden und zu einem einfach zu tippenden Pfad (c: \ nuget \ nuget) gewechselt und dann das Nuget mit diesem Pfad aufgerufen habe. Dies scheint das Problem zu lösen. c: \ nuget \ nuget in der Paketmanagerkonsole funktioniert wie erwartet. Ich habe versucht, den von der Konsole verwendeten Pfad zu finden und den Umgebungspfad zu ändern, konnte ihn jedoch nie auf diese Weise zum Laufen bringen.
quelle
Abrufen
nuget.exe
vonhttps://www.nuget.org/downloads
. Kopieren Sie es in einen lokalen Ordner und fügen Sie diesen Ordner derPATH
Umgebungsvariablen hinzu.Dadurch wird Nuget für jedes Projekt global verfügbar.
quelle