Empaqueter une bibliothèque de classes Razor
- 3 minutes
Une tâche que vous devez souvent effectuer est l’empaquetage des bibliothèques pour la réutilisation par d’autres développeurs. L’empaquetage NuGet permet à tous les développeurs d’acquérir et de configurer correctement toutes les références .NET pour leurs applications.
Dans l’unité précédente, vous avez créé votre composant de boîte de dialogue modal et l’avez utilisé dans votre propre application. Vous souhaitez maintenant le réutiliser dans d’autres applications.
Dans cette unité, vous allez découvrir les étapes nécessaires pour configurer une bibliothèque de classes Razor en tant que package NuGet. Vous découvrez également comment empaqueter la bibliothèque pour la distribution à l’aide d’un service de dépôt de package, tel que NuGet.org ou des dépôts GitHub.
Configurer une bibliothèque de classes Razor pour l’empaquetage NuGet
L’écosystème .NET facilite la définition des propriétés nécessaires pour que d’autres développeurs identifient et utilisent vos composants. Vous pouvez définir toutes ces propriétés dans le fichier projet (*.csproj) de votre bibliothèque de classes Razor afin qu’elles voyagent avec la bibliothèque. Les propriétés sont ensuite mises à jour de manière appropriée lorsque votre bibliothèque est mise à jour.
Vous pouvez configurer des champs qui identifient votre package dans la boîte de dialogue Propriétés du projet Visual Studio - Package , ou vous pouvez créer des entrées directement dans le fichier *.csproj vous-même.
Les quatre champs requis pour créer un package sont les suivants :
| Champ | Descriptif | Valeur par défaut |
|---|---|---|
| PackageId | Identificateur de package unique dans l’ensemble du référentiel NuGet. | AssemblyName de la bibliothèque |
| Version | Numéro de version spécifique sous la forme Major.Minor.Patch[-Suffix], où -Suffix définit éventuellement les versions préliminaires. | 1.0.0 |
| Auteurs | Auteurs du package. | AssemblyName |
| Entreprise | Nom de l’entreprise responsable de la création et de la publication du package. | AssemblyName |
Certains de ces champs ont des valeurs par défaut, et il peut sembler drôle de publier un package avec un nom d’entreprise de 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 à _content/[PACKAGE_ID]/, et maintenant vous voyez où la valeur PackageId est configurée.
Un exemple de fichier projet avec ces valeurs configurées peut ressembler à l’exemple suivant :
<PropertyGroup>
<PackageId>Learn.MyFirstLibrary</PackageId>
<Version>0.1.0-alpha1</Version>
<Authors>Susan Developer, Terry Programmer</Authors>
<Company>AdventureWorks</Company>
</PropertyGroup>
Lorsque vous générez le projet, vous pouvez également le configurer pour générer un package NuGet en sélectionnant l’option Générer le package NuGet sur build dans la boîte de dialogue Propriétés du projet Visual Studio ou en ajoutant une GeneratePackageOnBuild entrée en regard des autres champs de package, comme illustré ici :
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
Vous pouvez configurer de nombreuses propriétés de projet facultatives, notamment :
- Un
Descriptionapproprié pour l’affichage dans le référentiel NuGet - Avis de copyright
- Informations sur les licences
- Icônes
- URL de projet
Pour obtenir la liste complète des propriétés, consultez la documentation Microsoft sur la cible du pack MSBuild.
Empaqueter la bibliothèque
Après avoir écrit la configuration de la bibliothèque dans le fichier *.csproj , vous pouvez générer le package NuGet dans Visual Studio, en cliquant avec le bouton droit sur le projet et en sélectionnant la commande Pack , ou dans le dossier du projet, en exécutant la commande suivante :
dotnet pack
Cette dotnet pack commande génère un package avec l’ID de package et le numéro de version et le place dans le dossier de sortie de build de projet standard.