生成预发行包

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

显示最新稳定版本的包管理器用户界面

稳定版本是一种足够可靠且足以在生产中使用的版本。 最新的稳定版本也是将作为包更新或包还原期间安装的(受 重新安装和更新包中所述的约束)。

为了支持软件发布生命周期,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 中,选中“ 包括预发行版 ”框:

    Visual Studio 中的“包括预发行版”复选框

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

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

  • NuGet CLI:将-prerelease开关与命令installupdatedeletemirror一起使用。 请参阅 NuGet CLI 命令行工具参考文档

语义化版本控制

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