生成预发行包

每当发布具有新版本号的更新包时,NuGet 将其视为所示的“最新稳定版本”,以 Visual Studio 中的包管理器 UI 为例:

Package Manager UI showing the latest stable release

稳定版本是指被视为足够可靠,可在生产中使用的版本。 最新稳定版本也指作为包更新安装或在包还原期间安装的版本(受制于重新安装和更新包中所述的约束)。

为了支持软件的版本生命周期,NuGet 1.6 及更高版本允许分配预发行包,其中的版本号包括语义化版本控制后缀,如 -alpha-beta-rc。 有关详细信息,请参阅包版本控制

可以使用以下方法之一来指定此类版本:

  • 如果项目使用 PackageReference:在 .csproj 文件的 PackageVersion 元素中添加语义版本后缀:

    <PropertyGroup>
        <PackageVersion>1.0.1-alpha</PackageVersion>
    </PropertyGroup>
    
  • 如果项目使用 packages.config 文件:在 .nuspec 文件的 version 元素中添加语义版本后缀:

    <version>1.0.1-alpha</version>
    

在准备好发布稳定版本后,只需删除后缀,此包便会优先于任何预发行版本。 同样,请参阅包版本控制

安装和更新预发行包

默认情况下,NuGet 在处理包时不会包括预发行版本,但按照下文所述方法可更改此行为:

  • Visual Studio 中的包管理器 UI:在“管理 NuGet 包”UI 中,选中“包括预发行版”框

    The Include prerelease checkbox in Visual Studio

    设置或清除此框将刷新包管理器 UI 和可安装的可用版本的列表。

  • 包管理器控制台:将 -IncludePrerelease 开关与 Find-PackageGet-PackageInstall-PackageSync-PackageUpdate-Package 命令配合使用。 请参阅 PowerShell 参考

  • NuGet CLI:将 -prerelease 开关与 installupdatedeletemirror 命令配合使用。 请参阅 NuGet CLI 参考

语义化版本控制

语义化版本控制或 SemVer 约定介绍如何利用版本号中的字符串传达基础代码的含义。 详细了解包版本控制基本信息。