Empaqueter une bibliothèque de classes Razor
Vous devez souvent empaqueter des bibliothèques pour que d’autres développeurs puissent les réutiliser. L’empaquetage NuGet permet à n’importe quel développeur d’acquérir et de configurer correctement toutes les références .NET pour ses applications.
Dans l’unité précédente, vous avez créé votre composant de boîte de dialogue modale et vous l’avez utilisé dans votre propre application. Vous souhaitez à présent le réutiliser dans d’autres applications.
Dans cette unité, vous allez découvrir les étapes nécessaires à la configuration d’une bibliothèque de classes Razor en tant que package NuGet. Vous apprendrez également à empaqueter la bibliothèque en vue de sa distribution à l’aide d’un service de référentiel de packages, par exemple NuGet.org, ou de référentiels GitHub.
Configuration d’une bibliothèque de classes Razor pour l’empaquetage NuGet
L’écosystème .NET permet de définir facilement les propriétés nécessaires à l’identification et à l’utilisation de vos composants par d’autres développeurs. Vous pouvez spécifier toutes ces propriétés dans le fichier projet (*.csproj) de votre bibliothèque de classes Razor afin qu’elles l’accompagnent systématiquement et soient convenablement mises à jour avec votre bibliothèque.
Vous avez le choix entre configurer les champs qui identifient votre package dans la boîte de dialogue Propriété du projet Visual Studio – Package et créer des entrées directement dans le fichier *.csproj.
Les quatre champs requis pour créer un package sont les suivants :
Champ | Description | Valeur par défaut |
---|---|---|
PackageId | identificateur de package, unique dans l’intégralité du référentiel NuGet. | AssemblyName de la bibliothèque |
Version | Numéro de version spécifique sous la forme Majeure.Mineure.Correctif[-Suffixe], où -Suffixe définit éventuellement des versions préliminaires. | 1.0.0 |
Auteurs | Auteurs du package. | AssemblyName |
Company | Nom de la société responsable de la création et de la publication du package. | AssemblyName |
Certains de ces champs comportent des valeurs par défaut. Cependant, il peut sembler étrange de publier un package sous le nom de société MyFirstLibrary. Nous vous recommandons vivement de définir explicitement ces valeurs.
Dans l’unité précédente, vous avez appris que le contenu statique d’une bibliothèque de classes Razor est disponible à l’adresse _content/[PACKAGE_ID]/
. Vous savez à présent où la valeur PackageId
est configurée.
Voici un exemple de fichier projet pour lequel ces valeurs sont configurées :
<PropertyGroup>
<PackageId>Learn.MyFirstLibrary</PackageId>
<Version>0.1.0-alpha1</Version>
<Authors>Susan Developer, Terry Programmer</Authors>
<Company>AdventureWorks</Company>
</PropertyGroup>
À l’étape de build, vous pouvez également configurer le projet de façon à générer un package de NuGet. Pour cela, sélectionnez l’option Générer un package NuGet à l’étape de build dans la boîte de dialogue Propriétés du projet Visual Studio ou ajoutez une entrée GeneratePackageOnBuild
en regard des autres champs du package :
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
De nombreuses propriétés facultatives du projet sont configurables :
Description
appropriée pour l’affichage dans le référentiel NuGet- Mention de droits d’auteur
- Informations de licence
- Icônes
- URL du projet
Pour connaître la liste complète des propriétés, consultez la documentation de Microsoft sur la cible du pack MSBuild.
Empaquetage de la bibliothèque
Une fois que vous avez écrit la configuration de la bibliothèque dans le fichier *.csproj, vous avez deux possibilités pour générer le package NuGet. Si vous souhaitez utiliser Visual Studio, cliquez avec le bouton droit sur le projet et sélectionnez la commande Empaqueter. Vous pouvez également effectuer l’opération dans le dossier du projet, en exécutant la commande suivante :
dotnet pack
Cette commande dotnet pack
génère un package associé au PackageId et au numéro de version indiqués et le place dans le dossier de sortie de build de projet standard.