Génération de packages en préversion

Chaque fois que vous publiez un package mis à jour avec un nouveau numéro de version, NuGet le considère comme la « dernière version stable », comme indiqué par exemple dans l’interface utilisateur du gestionnaire de package dans Visual Studio :

Package Manager UI showing the latest stable release

Une version stable est une version considérée comme suffisamment fiable pour être utilisée en production. La dernière version stable est également celle qui est installée sous forme de mise à jour de package ou pendant une restauration de package (conformément aux contraintes décrites dans Réinstallation et mise à jour des packages).

Pour prendre en charge le cycle de vie de publication du logiciel, NuGet 1.6 et ultérieur permet de distribuer des packages en préversion, où le numéro de version inclut un suffixe de gestion des versions sémantique comme -alpha, -beta ou -rc. Pour plus d’informations, consultez Gestion des versions de package.

Vous pouvez spécifier ces versions en utilisant l’une des manières suivantes :

  • Si votre projet utilise PackageReference : incluez le suffixe de version sémantique dans l’élément PackageVersion du fichier .csproj :

    <PropertyGroup>
        <PackageVersion>1.0.1-alpha</PackageVersion>
    </PropertyGroup>
    
  • Si votre projet utilise un fichier packages.config : incluez le suffixe de version sémantique dans l’élément version du fichier .nuspec :

    <version>1.0.1-alpha</version>
    

Lorsque vous êtes prêt à publier une version stable, supprimez simplement le suffixe et le package est prioritaire sur toutes les préversions. Là encore, consultez Gestion des versions de package.

Installation et mise à jour des packages en préversion

Par défaut, NuGet n’inclut pas de préversions dans le cadre de l’utilisation de packages, mais vous pouvez modifier ce comportement comme suit :

  • Interface utilisateur du gestionnaire de package dans Visual Studio : dans l’interface utilisateur Gérer les packages NuGet, cochez la case Inclure la préversion :

    The Include prerelease checkbox in Visual Studio

    Le fait de cocher ou décocher cette case actualise l’interface utilisateur du gestionnaire de package et la liste des versions disponibles que vous pouvez installer.

  • Console du gestionnaire de package : utilisez le commutateur -IncludePrerelease avec les commandes Find-Package, Get-Package, Install-Package, Sync-Package et Update-Package. Reportez-vous à Informations de référence sur PowerShell.

  • Interface de ligne de commande NuGet : utilisez le commutateur -prerelease avec les commandes install, update, delete et mirror. Reportez-vous à Informations de référence sur l’interface de ligne de commande NuGet.

Gestion sémantique de version

La gestion sémantique de version ou convention SemVer décrit la manière d’utiliser des chaînes dans les numéros de version pour qu’elles indiquent la signification du code sous-jacent. En savoir plus sur les principes de base du contrôle de version de package.