.net - that - visual studio la configuracion de nuget no es valida
NuGet para soluciones con mĂșltiples proyectos (6)
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 simplemente 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 necesito una referencia?
- ¿Debo usar "Agregar referencia de paquete de biblioteca" la primera vez que necesito un paquete, y luego usar Agregar referencia-> Buscar usos posteriores?
En cualquier caso, ¿cuántos archivos packages.config debería tener?
Debe usar la "Agregar referencia de paquete de biblioteca" para toda su biblioteca externa en cada proyecto de su solución. Terminará con un paquete.config por proyecto.
Sin embargo, descargará el paquete solo una vez y lo reutilizará localmente para todos sus otros proyectos.
En Package Manager Console puede escribir el siguiente comando :
Get-Project -all | ForEach-Object {Get-Package -ProjectName $_.Name -filter
PACKAGE_NAME} | where-object { $_.id -eq ''PACKAGE_NAME'' } | Install-Package
PACKAGE_NAME -Version VERSION
Puede usar ese comando para instalar o actualizar también (Update-Package)
Este dulce acuerdo funciona para mí:
PM> Get-Project -all | where {$_.Name -match "Songhay.Silverlight" -and
$_.Name -notmatch "ApplicationLoader" -and $_.Name -notmatch ".Xml"}
| ForEach-Object {Install-Package MvvmLight -project $_.Name}
Para cualquiera que tropiece con esto, ahora existe la siguiente opción:
Haga clic con el botón derecho en su solución> Administrar paquetes NuGet para solución ...
... O:
Herramientas> Administrador de paquetes de biblioteca> Administrar paquetes NuGet para solución ...
Y si va al área de paquetes instalados, puede ''administrar'' un solo paquete en cada proyecto de la solución.
Puede usar la consola para orientar varios proyectos
Tools > Library Package Manager > Package Manager Console
luego usa este comando
Get-Project PROJECT-NAMES-WITH-COMMAS | Install-Package PACKAGENAME
por ejemplo
Get-Project Core,UI | Install-Package FluentDateTime
Si desea instalar un paquete en múltiples soluciones, escribí un guión práctico de Powershell para hacerlo, vea here .
Incluso puede filtrar el comando Get-Project -All
y dirigirse a un subconjunto de la lista de proyectos.