

Dans ce billet de blog, je vais pr�senter comment vous pouvez g�rer les d�pendances de votre application ASP.NET Core en utilisant l��diteur Visual Studio Code.
Les d�pendances d�une application sont regroup�es dans le fichier .csproj. Il s�agit d�un fichier XML qui est assez simple � comprendre et � �diter. Si vous cr�ez une application ASP.NET Core MVC en utilisant le mod�le de base, vous devez avoir un fichier .csproj, avec le contenu suivant :
Code xml : | S�lectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp1.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" /> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" /> <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.2" /> <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2" /> <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.2" /> </ItemGroup> </Project> |
Ce fichier contient une section PropertyGroup, qui d�finit la version de .NET Core que vous ciblez (.NET Core 1.1) :
Code xml : | S�lectionner tout |
1 2 3 | <PropertyGroup> <TargetFramework>netcoreapp1.1</TargetFramework> </PropertyGroup> |
La section qui nous int�resse est la section ItemGroup. Dans la suite de cet article, le terme d�pendance et package vont renvoyer � la m�me chose : une biblioth�que.
Description des balises XML pour la gestion des packages
Les d�pendances sont regroup�es dans la section ItemGroup :
Code xml : | S�lectionner tout |
1 2 | <ItemGroup> </ItemGroup> |
Vous pouvez avoir plusieurs sections ItemGroup dans votre fichier .csproj, pour une meilleure gestion de vos d�pendances.
L�ajout d�une d�pendance se fait en utilisant la balise PackageReference. Vous devez renseigner les attributs :
- Include qui contient l�identifiant du package. Exemple Blog.Utilitaire.Conversion ;
- Version qui d�finit la version du package, au format x.y.z. Exemple 2.0.1
Exemple d�utilisation de PackageReference :
Code xml : | S�lectionner tout |
1 2 3 4 5 6 | <PackageReference Include="Blog.Utilitaire.Conversion" Version="2.0.1" /> Une autre option est de renseigner la version dans la balise Version : <PackageReference Include="Blog.Utilitaire.Conversion"> <Version>2.0.1</Version> </PackageReference> |
Pour int�grer un package dans votre application, vous devez donc connaitre son identifiant et son num�ro de version. Toutefois, plus de souplesse est offerte dans la d�finition du num�ro de version.
Si vous ne connaissez pas le dernier chiffre pour le num�ro de version, vous pouvez le remplacer par � * � (2.0.*). Dans ce cas, la version du package avec le dernier chiffre le plus �lev� sera ajout�e � votre projet.
Vous avez �galement la possibilit� de r�f�rencer des packages encore en phase beta ou alpha. Pour le faire, � la suite des chiffres, vous devez ajouter -beta* (2.0.1-beta*). L��toile permet de vous affranchir de la version beta.
Code xml : | S�lectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | <ItemGroup> <!-- ... --> <PackageReference Include="Contoso.Utility.UsefulStuff"> <Version>2.0.*</Version> </PackageReference> <PackageReference Include="Contoso.Utility.UsefulStuff"> <Version>2.0.1-beta*</Version> </PackageReference> <!-- ... --> </ItemGroup> |
En fonction de vos besoins, vous aurez recours � d�autres packages dans votre application. Pour faciliter la gestion des d�pendances dans les projets .NET, le gestionnaire de packages NuGet est utilis�.
NuGet offre des outils pour la cr�ation, la publication et la consommation des packages. Il offre �galement un d�p�t centralis� ou les packages sont t�l�charg�s par d�faut pour �tre inclus dans votre projet.
Vous avez trois options pour ajouter de nouveaux packages :
- �diter le fichier .csproj ;
- utiliser la commande dotnet ;
- utiliser le gestionnaire de packages NuGet pour Visual Studio Code.
�dition du fichier .csproj
Si vous optez pour ce choix, vous devez connaitre l�identifiant du package et son num�ro de version. Il vous suffira juste d�ajouter la balise PackageReference en suivant les instructions ci-dessus.
Utilisation de la commande dotnet
La commande dotnet add package en ligne de commande va permettre d�ajouter un package � votre projet. Vous devez vous positionner sur le dossier contenant le fichier .csproj, ensuite utiliser cette commande en renseignant l�identifiant du package.
dotnet add package Blog.Utilitaire.Conversion
Si vous voulez une version pr�cise du package, vous devez ajouter l�argument -v
Code : | S�lectionner tout |
dotnet add package Blog.Utilitaire.Conversion -v 2.0.1
Il s�agit d�une extension non officielle mise en place par un d�veloppeur tiers pour faciliter l�ajout et la suppression des packages dans votre application.
Pour utiliser ce dernier, vous devez dans un premier temps installer celui-ci. Pour le faire :
- cliquez dans la barre d�outils sur l�ic�ne Extensions ;
- dans la zone de recherche, saisissez package manager ;
- cliquez ensuite sur installer.
Une fois l�extension install�e, rechargez la fen�tre en cliquant sur Recharger. Cliquez ensuite sur Affichage, puis sur Palette de commandes. Saisissez NuGet et s�lectionnez NuGet Package Manager : Add Package.
Saisissez ensuite l�identifiant du package. Vous n�avez pas besoin de saisir ce dernier en entier. D�s lors que vous avez saisi les premiers caract�res, appuyez sur entrer pour avoir une liste de packages correspondants. Si je saisis par exemple Entityframework, j�aurais la liste suivante :
En s�lectionnant le nom du package, vous aurez une autre fen�tre vous proposant de choisir la version :
Une fois cela fait, le package sera ajout� au fichier projet .csproj.
Code : | S�lectionner tout |
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="1.1.1"/>
Une fois un package ajout� au fichier .csproj, vous devez restaurer ce dernier. C�est au moment de la restauration que le package sera t�l�charg� sur le r�f�rentiel distant et ajout� � votre projet. La commande pour le faire est :
Code : | S�lectionner tout |
Dotnet restore
Vous pouvez disposer d�un projet qui utilise les fonctionnalit�s d�un autre projet. Par exemple, si vous disposez du projet Blog.Tests, qui teste les fonctionnalit�s de Blog.Web, il va de soi que vous devez inclure une r�f�rence � Blog.Web dans Blog.Tests.
Pour le faire, vous devez renseigner le chemin vers le fichier .csproj du projet Blog.Web dans l�attribut include.
Code : | S�lectionner tout |
1 2 3 | <ItemGroup> <ProjectReference Include="..\Blog.Web\Blog.Web.csproj" /> </ItemGroup> |
D�sormais, vous avez les connaissances de base pour g�rer les packages dans votre projet. Bon coding

Vous avez lu gratuitement 3 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer � vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer � vous proposer des publications.