Estoy tratando de crear un paquete nuget utilizando http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory como referencia. Mi consola Package Manager en Visual Studio no me permite usar el comando 'nuget'. Puedo 'Obtener ayuda nuguet' y muestra:
Se incluyen los siguientes cmdlets de 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.
- Sin embargo, cada vez que comienzo los comandos con nuget se da:
El término 'nuget' no se reconoce como el nombre de un cmdlet, función, archivo de script o programa operable. Verifique la ortografía del nombre, o si se incluyó una ruta, verifique que la ruta sea correcta y vuelva a intentarlo.
En la línea: 1 carácter: 6 + nuget <<<< + CategoryInfo: ObjectNotFound: (nuget: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
He probado las siguientes soluciones:
1> cerrar todos los elementos y reiniciar
2> desinstalar y reinstalar
3> crear un archivo de perfil de PowerShell (esto no existía antes y esto realmente rompió todo)
El problema comenzó a aparecer después de que actualicé mi versión de prueba de Visual Studio 2012 Ultimate a registrado. Originalmente tenía instalado el VS 12 Pro. No sé si eso realmente tiene algo que ver con eso, pero noté que otros que tenían problemas similares tenían instalados vs 10 y 12.
Mi pregunta es "¿Alguien sabe qué más probar?" Mi teoría es que falta la ruta al comando nuget, pero no puedo encontrar cómo configurar las rutas que usa la consola del administrador de paquetes y no estoy seguro de dónde está realmente almacenado el cmdlet nuget.
Actualizado --- intenté descargar la herramienta de línea de comando como se sugiere a continuación. Esto hace que nada vuelva a funcionar. Intenté desinstalarlo y ahora tengo un elemento en las extensiones vs2010 para nuget que no tiene habilitado un botón de instalación o desinstalación. Esto me lleva a creer que tiene que ver con extensiones instaladas a través de 2010 y 2012 que tienen parte en mi pequeño drama. Si alguien también sabe cómo destruir una extensión desinstalable, por favor avíseme también, pero intentaré otra pregunta para eso.
fuente
Respuestas:
También puede intentar configurar la ruta de la variable del sistema a la ubicación de su nuget exe y reiniciar VS.
PATH
variable y añadir la ubicación de su nuget.exe (para mí esto es:C:\Program Files (x86)\NuGet\Visual Studio 2013
)Hubiera publicado esto como un comentario a su respuesta @done_merson, pero no tenía la reputación necesaria para hacer eso.
fuente
Nuget.exe se coloca en la
.nuget
carpeta de su proyecto. No se puede ejecutar directamente en Package Manager Console, pero se ejecuta mediante comandos de Powershell porque estos comandos crean una ruta personalizada por sí mismos.Mis pasos para resolver son:
C:\Program Files\NuGet\Visual Studio 2012
(o su versión VS);C:\Program Files\NuGet\Visual Studio 2012
(o su versión VS) en la variable de entorno PATH(consulte http://www.itechtalk.com/thread3595.html como un procedimiento)( instrucciones aquí ).Actualizar
NuGet se puede instalar fácilmente en su proyecto usando el siguiente comando:
fuente
Package 'NuGet.CommandLine.3.3.0' already exists in project 'TimeLoop'
pero cuando escribo NuGet me sale un error de que el comando no existe.Install-Package NuGet.CommandLine
es terrible porque, 1. Se agregaNuGet.CommandLine
como una dependencia a mi proyecto (¡ew!), y 2. Debe hacerse por separado en cada proyecto.npm
tiene una opción de 'instalación global' - ¿NuGet no tiene algo similar?Hay formas mucho mejores de hacerlo.
Instale nuget a través de chocolatey, mucho mejor. Instale chocolatey: https://chocolatey.org/ , luego ejecute
cinst Nuget.CommandLine
en su símbolo del sistema. Esto instalará nuget y configurará las rutas del entorno, por lo que nuget siempre estará disponible.
fuente
En
[Package Manager Console]
prueba lo siguientefuente
Install-Package NuGet.CommandLine
La herramienta de línea de comandos nuget no viene con el archivo vsix, es una descarga separada
https://github.com/nuget/home
fuente
fuente
En Visual Studio:
En PM:
Cierre Visual Studio y ábralo de nuevo.
fuente
Lo solucioné encontrando nuget.exe y moviéndome a una ruta fácil de escribir (c: \ nuget \ nuget) y luego llamando al nuget con esta ruta. Esto parece solucionar el problema. c: \ nuget \ nuget en la consola del administrador de paquetes funciona como se esperaba. Traté de encontrar la ruta que estaba usando la consola y cambié la ruta del entorno, pero nunca pude hacer que funcionara de esa manera.
fuente
Recuperar
nuget.exe
dehttps://www.nuget.org/downloads
. Cópielo en una carpeta local y agregue esa carpeta a laPATH
variable de entorno.Esto hará que nuget esté disponible globalmente, desde cualquier proyecto.
fuente