Supongamos que tengo una solución con 3 proyectos:
- Núcleo
- UI
- Pruebas
Algunos de los paquetes NuGet que uso se aplicarán a los 3 proyectos. Algunos solo se aplicarán a la interfaz de usuario y las pruebas, y algunos solo se aplicarán a las pruebas (como NUnit).
¿Cuál es la forma correcta de configurar esto usando NuGet?
- ¿Debo usar "Agregar referencia de paquete de biblioteca" en los tres proyectos cada vez que necesite una referencia?
- ¿Debo usar "Agregar referencia de paquete de biblioteca" la primera vez que necesito un paquete y luego usar Agregar referencia-> Examinar para usos posteriores?
En cualquier caso, el número de packages.config archivos debería tener?
Install-Package RazorEngine -Version 3.3.0
pero se aplicará solo para el proyecto seleccionado en el menú desplegable de la consola.Usa la consola para apuntar a múltiples proyectos
entonces usa este comando
por ejemplo
fuente
Este dulce trato me funciona:
fuente
Get-Project -all | ForEach-Object {Get-Package -ProjectName $_.Name -Filter Newtonsoft.Json}
Get-Project -all | ForEach-Object {Get-Package -ProjectName $_.Name -filter PACKAGE_NAME} | where-object { $_.id -eq 'PACKAGE_NAME' }
Si desea instalar un paquete en varias soluciones, escribí un útil script de Powershell para hacerlo, consulte aquí .
Incluso puede filtrar el
Get-Project -All
comando y apuntar a un subconjunto de la lista de proyectos.fuente
Debe usar la "Agregar referencia de paquete de biblioteca" para toda su biblioteca externa en cada proyecto de su solución. Terminarás con un package.config por proyecto.
Sin embargo, descargará el paquete solo una vez y lo reutilizará localmente para todos sus otros proyectos.
fuente
En Package Manager Console puede escribir el siguiente comando :
Puede usar ese comando para instalar o actualizar también (Update-Package)
fuente