NuGet
Généralités
Facilite l'ajout et le retrait de bibliothèques externes comme références d'un projet.
NuGet permet le téléchargement et l'installation de paquets qui contiennent:
- des bibliothèques externes
- des fichiers de contenus
- des scripts powershell
Avantages:
- plus besoin de commiter les bibliothèques externes, seulement le fichier de configuration NuGet
Inconvénients:
- nécessite une connexion pour le téléchargement du paquet
- télécharge la dernière version du paquet, qui n'est peut-être pas compatible avec la version ultérieure
- pas d'installation de templates ou de snippets
Installation d'un paquet
Clique-droit sur References → Manage NuGet Packages
L'installation d'un paquet créé ou modifie le fichier packages.config qui se trouve dans le dossier du projet.
packages.config |
<packages> <package id="log4net" version="2.0.3" targetFramework="net45" /> </packages> |
Un dossier packages est créé dans le dossier de la solution. Il contient les packages NuGet des projets de la solution.
Réinstallation d'un paquet
Après le changement de la version du framework d'un projet, il peut être nécessaire de réinstaller certain paquets NuGet.
Tool → NuGet Package Manager → Package Manager Console
Update-Package –reinstall <packageName> |
NuGet et les logiciel de gestion de versions (Version Control Software)
Dossier packages dans VCS
Le plus simple et d'ajouter au VCS le dossier « packages » ainsi que les fichiers « packages.config ».
Mais ajouter des fichiers binaires au VCS ne représente que peu d’intérêt et fait grossir considérablement la taille du dépôt.
Récupération des paquets durant le build
Dans ce cas, le dossier « packages » n'est pas ajouté au VCS.
NuGet télécharge les paquets manquant à la compilation.
Automatic Package Restore
Tools → Options → NuGet Package Manager → General → Allow NuGet to download missing packages.
Pour que le dossier « packages » ne soit pas inclus dans TFS:
$(SolutionDir)/.nuget/NuGet.Config |
<?xml version="1.0" encoding="utf-8"?> <configuration> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> </configuration> |
MSBuild-Integrated package restore
Clique-droit sur la solution → Enable NuGet Package Restore
Un dossier « .nuget » est ajouté dans la solution, il contient les fichiers qui permettent de récupérer les paquets.
Le fichier de solution et les fichiers de projet sont aussi modifiés pour leurs ajouter des règles de compilation.