Share via


Résolution des dépendances des projets OGDI avec NuGet

image

Au cours de ce billet, nous allons nous intéresser au formidable outil qu’est NuGet. NuGet est une extension qui vient s’ajouter à Visual Studio 2010 et qui permet d’intégrer en quelques clics des bibliothèques et des outils sous licence libre à vos projets sous forme de paquets (package) installables.

Finies les heures interminables à chercher sur Bing ou Google et encore sur Codeplex les paquets qui nous intéressent ! Vous disposez désormais d’un seul point d’accès directement intégré à votre environnement de développement favori pour avoir un accès à tous les paquets qui ont été chargés dans la galerie en ligne officielle (online gallery) de NuGet.

Il est à noter que tout le monde peut contribuer et publier des paquets après une simple inscription sur le site NuGet. Il est, par ailleurs, tout à fait possible de créer des référentiels non-officiels réservés à un usage purement interne par exemple.

Installation du Gestionnaire de paquets NuGet

Pour installer NuGet, rien de plus simple. Il suffit de lancer Visual Studio 2010. Ensuite dans la barre d’outils, cliquez sur Tools, puis Extension Manager.

image

Une fois la fenêtre Extension Managerouverte, sélectionnez l’onglet Online Gallery, puis, dans la barre de recherche, tapez simplement « nuget ».

image

Cliquez ensuite sur NuGet Package Manager puis sur le bouton Download. L’installation se lance alors. A l’issue de l’installation, un redémarrage de l’environnement est nécessaire.

Résolution des dépendances

Partons du principe que vous venez de télécharger le kit de démarrage OGDI (Open Government Data Initiative).

Ouvrez maintenant la solution ogdi.sln correspondante dans Visual Studio 2010. Si vous lancez une première compilation, vous vous rendrez compte qu’il manque des dépendances (comme décrit dans la documentation qui accompagne le kit).

image

Ouvrez par exemple le projet DataLoader et dépliez l’onglet References. Vous pouvez constater qu’il y a une dépendance non-résolue vers la bibliothèque LumenWorks.Framework.IO(que nous ne fournissons pas fournir avec les sources de la solution).

image

Maintenant, faites un clic-droit sur References, et cliquez sur Manage NuGet Packages…

image

Dans la fenêtre Manage NuGet Packages qui s’ouvre, sélectionnez l’onglet Online puis tapez ensuite « ogdi » dans la barre de recherche.

image

Comme vous pouvez le constater, 4 paquets sont désormais disponibles, chacun installant les dépendances des projets de la solution OGDI dont ils portent le nom.

Par exemple, dans le cas présent, nous cherchons à résoudre les dépendances du projet DataLoader . Sélectionnez donc le paquet OGDI DataLoader Dependencies, cliquez sur Install.

Dans la boite de dialogue Licence Acceptance, cliquez sur le lien View License Terms. Les composants logiciels contenus dans le paquet sont publiés sous leur différent contrat de licence respectif. Vous devez donc impérativement lire les termes de chaque contrat de licence qui s'applique et accepter les termes de chaque contrat avant d'accepter l'installation de ce paquet. Les liens afférents sont précisés pour faciliter cette opération.

Si vous acceptez les termes de chaque contrat qui s’applique, cliquez ensuite sur I Acceptafin matérialiser cette acceptation.

image

Si vous cliquez maintenant sur Close dans la fenêtre Manage NuGet Packages et que vous observez à nouveau la liste des références du projet, vous vous apercevez que la précédemment manquante bibliothèque LumenWorks.Framework.IOa été téléchargée et que la dépendance a donc été résolue.

image

Il ne vous reste plus qu’à réaliser la même opération pour les projets DataLoaderGuiApp, Interactive Sdk.MvcWebRole et Services_WebRole pour résoudre toutes vos dépendances vers les bibliothèques sous licence libre utilisée dans le cadre de la solution OGDI ! Désormais vous pouvez recompiler votre solution (et sans erreur de compilation cette fois-ci :-)).