Supposons que j'ai une solution avec 3 projets:
- Coeur
- UI
- Des tests
Certains des packages NuGet que j'utilise s'appliqueront aux 3 projets. Certains ne s'appliqueront qu'à l'interface utilisateur et aux tests, et certains s'appliqueront uniquement aux tests (comme NUnit).
Quelle est la bonne façon de configurer cela à l'aide de NuGet?
- Dois-je utiliser "Ajouter une référence de package de bibliothèque" sur les trois projets chaque fois que j'ai besoin d'une référence?
- Dois-je utiliser "Ajouter une référence de package de bibliothèque" la première fois que j'ai besoin d'un package, puis utiliser Ajouter une référence-> Parcourir pour les utilisations suivantes?
Dans les deux cas, combien de fichiers packages.config dois-je avoir?
Install-Package RazorEngine -Version 3.3.0
mais cela ne sera appliqué que pour le projet sélectionné dans la liste déroulante de la console.Utilisez la console pour cibler plusieurs projets
puis utilisez cette commande
par exemple
la source
Cette bonne affaire fonctionne pour moi:
la source
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 vous souhaitez installer un package sur plusieurs solutions, j'ai écrit un script Powershell pratique pour le faire, voir ici .
Vous pouvez même filtrer la
Get-Project -All
commande et cibler un sous-ensemble de la liste de projets.la source
Vous devez utiliser «Ajouter une référence de package de bibliothèque» pour toute votre bibliothèque externe sur chaque projet de votre solution. Vous vous retrouverez avec un packages.config par projet.
Cependant, vous ne téléchargez le package qu'une seule fois et vous le réutilisez localement pour tous vos autres projets.
la source
Dans la console du gestionnaire de package, vous pouvez écrire la commande suivante :
Vous pouvez également utiliser cette commande pour installer ou mettre à jour (Update-Package)
la source