visual studio 2012 - studio - ¿La mejor manera de agregar paquetes NuGet como referencias de proyecto en VS2012?
instalar paquetes nuget (4)
De acuerdo. Pregunta realmente rápida, probablemente estoy siendo grosero.
Si hace clic derecho en la carpeta de ''referencias'' de proyectos y luego ''Manage NuGet Packages'' puede instalar paquetes y el proyecto en el que hizo clic automáticamente hace referencia. Pero luego quiero agregar la misma referencia a otros proyectos en la misma solución. Si repite lo anterior pero hace clic en otro proyecto, la única opción es desinstalar el paquete (dado que ya está instalado), ¿cuál es la forma correcta de agregar un paquete NuGet existente (ya instalado) como referencia de proyecto? ¿Debo agregar la referencia usando el cuadro de diálogo normal y "navegar" a la dll en la carpeta de paquetes? Use un método para agregar la primera referencia y luego otra para las referencias posteriores. Eso no parece correcto.
Actualmente uso la consola de Package Manager (Ver-> Otras ventanas-> Administrador de paquetes Console).
Lo más probable es que necesites los siguientes dos comandos:
install-package <package-name> [-version <version-number>] [-project <project-name]
y
update-package <package-name> [-reinstall] [-version <version-number>] [-project <project-name>]
dónde
- Las partes entre corchetes [] son opcionales.
- ''install-package'' se instalará en el proyecto especificado, o si no se especifica el seleccionado en el menú desplegable ''Default Project'' en la parte superior de la ventana de comandos.
- ''update-package'' aplicará cambios a cada proyecto a menos que se especifique un proyecto.
- ''-reinstall'' significa desinstalar y luego instalar el paquete nuevamente con el mismo número de versión.
Al principio pensé que el comportamiento de estos comandos era un poco extraño, pero con la experiencia veo que son más útiles de esta manera. Aunque personalmente abandonaría el menú desplegable ''Proyecto predeterminado'' por completo.
La otra respuesta aquí no me ayudó. Esto es lo que hice, no conozco otra forma de hacerlo. Estoy usando VS 2013.
- Instalé el paquete en la consola de Package Manager, por ejemplo,
PM> Install-Package Newtonsoft.Json
- En el Explorador de soluciones, haga clic con el botón secundario en referencias, seleccione Agregar referencia
- Haga clic en Examinar y navegue hasta la DLL en el directorio de paquetes debajo de la carpeta de la solución.
Esto agrega una ruta relativa para la referencia al proyecto, por lo que debería funcionar con otras personas que obtienen el código del control de origen en diferentes directorios.
Tuve el mismo problema. La solución publicada por kristianp ha funcionado como se esperaba, pero puede ser un poco engorrosa cuando se trata de muchos paquetes. La solución, que funcionó para mí, fue simplemente editar el archivo myProjectName.csproj en el bloc de notas, y solo copiar y pegar referencias de otro proyecto, como por ejemplo:
...
<ItemGroup>
<Reference Include="Microsoft.AspNet.SignalR.Core">
<HintPath>../packages/Microsoft.AspNet.SignalR.Core.2.1.2/lib/net45/Microsoft.AspNet.SignalR.Core.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AspNet.SignalR.SystemWeb">
<HintPath>../packages/Microsoft.AspNet.SignalR.SystemWeb.2.1.2/lib/net45/Microsoft.AspNet.SignalR.SystemWeb.dll</HintPath>
</Reference>
...
Espero que esto ayude a alguien. Me salvó un montón de clic :)
Puede usar los Manage NuGet packages for Solution...
por:
- haciendo clic derecho en la solución
-
Tools > Library Package Manager > Manage NuGet packages for Solution
Luego puede elegir en qué proyectos instalar el paquete como en la captura de pantalla a continuación: Además, puede agregar el paquete instalado a otros proyectos en solución usando los mismos Manage NuGet packages for Solution...