visual studio - valida - ''nuget'' no es reconocido pero otros comandos nuget funcionan
visual studio la configuracion de nuget no es valida (8)
En [Package Manager Console]
prueba la siguiente
Install-Package NuGet.CommandLine
Estoy intentando crear un paquete nuget usando http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory como referencia. La consola de My Package Manger en Visual Studio no me permite usar el comando ''nuget''. Puedo ''Get-help nuguet'' y muestra:
Se incluyen los siguientes cmdlets 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 comandos con nuget se obtiene:
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 pruebe ag in.
En la línea: 1 char: 6 + nuget <<<< + CategoryInfo: ObjectNotFound: (nuget: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
He intentado las siguientes soluciones:
1> cerrar todos los artículos 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 actualizar mi versión de prueba de Visual Studio 2012 Ultimate a registrada. Originalmente tenía el VS 12 Pro instalado. No sé si realmente tiene algo que ver con eso, pero me di cuenta de que otros que tenían problemas similares tienen contra 10 y 12 instalados.
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 utiliza la consola del gestor de paquetes y no estoy seguro de dónde se almacena realmente el nódulo del cmdlet.
Actualizado --- intenté descargar la herramienta de línea de comandos como se sugiere a continuación. Esto no lleva a nada a funcionar de nuevo. Traté de desinstalar y ahora tengo un elemento en las extensiones vs2010 para Nuget que no tiene un botón de instalación o de desbloqueo habilitado. Esto me lleva a creer que tiene que ver con las extensiones instaladas durante 2010 y 2012 que tienen una parte en mi pequeño drama. Si alguien sabe también cómo activar una extensión desinstalable, avíseme también, pero intentaré otra pregunta para eso.
En Visual Studio:
Tools -> Nuget Package Manager -> Package Manager Console.
En PM:
Install-Package NuGet.CommandLine
Cierre Visual Studio y ábralo de nuevo.
Hay formas mucho mejores de hacerlo.
- Instala el paquete Nuget.Build en tu proyecto que quieras empacar. Puede ser necesario cerrar y volver a abrir la solución después de la instalación.
Instale nuget vía chocolatey - mucho más agradable. Instalar chocolate: https://chocolatey.org/ , luego ejecutar
cinst Nuget.CommandLine
en su símbolo del sistema. Esto instalará nuget y rutas de entorno de configuración, por lo que nuget siempre está disponible.
La herramienta Nuget Commandline no viene con el archivo vsix, es una descarga separada
Lo solucioné al encontrar nuget.exe y pasar a una ruta fácil de escribir (c: / nuget / nuget) y luego llamar al nuget con esta ruta. Esto parece resolver el problema. c: / nuget / nuget en la consola del administrador de paquetes funciona como se esperaba. Traté de encontrar la ruta que usaba la consola y cambiar la ruta del entorno, pero nunca pude hacer que funcionara de esa manera.
Nuget.exe se coloca en la carpeta .nuget
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 para ellos.
Mis pasos para resolver son:
- Descargue NuGet.exe desde https://github.com/NuGet/NuGet.Client/releases ( dé preferencia a la última versión );
- Coloque NuGet.exe en
C:/Program Files/NuGet/Visual Studio 2012
(o su versión VS); - Agregue
C:/Program Files/NuGet/Visual Studio 2012
(o su versión VS) en la variable de entorno PATH(vea http://www.itechtalk.com/thread3595.html como un Cómo hacerlo)( instrucciones aquí ). - Cierre y abra Visual Studio.
Actualizar
NuGet se puede instalar fácilmente en su proyecto usando el siguiente comando:
Install-Package NuGet.CommandLine
También puede intentar establecer la ruta de la variable del sistema a la ubicación de su exe nuget y reiniciar VS.
- Abra la variable
PATH
su sistema y agregue la ubicación de su nuget.exe (para mí esto es:C:/Program Files (x86)/NuGet/Visual Studio 2013
) - Reiniciar Visual Studio
Hubiera publicado esto como un comentario en su answer @done_merson, pero no tenía la reputación requerida para hacerlo.
- Haga clic derecho en su proyecto en el explorador de soluciones .
- Seleccione Manage NuGet Packages for Solution .
- Busque NuGet.CommandLine de Microsoft e instálelo .
- En la instalación completa, encontrará una carpeta llamada paquetes en su proyecto. Ve al explorador de soluciones y búscalo.
- Dentro de los paquetes, busque una carpeta llamada NuGet.CommandLine.3.5.0 , aquí 3.5.0 es solo el nombre de la versión, su nombre de carpeta cambiará en consecuencia.
- Dentro de NuGet.CommandLine.3.5.0 busca una carpeta llamada herramientas .
- Dentro de las herramientas obtendrás tu nuget.exe