Asp.Net 5语义版本控制

本文关键字:版本控制 语义 Net Asp | 更新日期: 2023-09-27 18:06:28

版本控制的工作方式似乎与以前的。net版本有所不同。该项目。json似乎使用语义版本控制(从我在网上看到的),格式为Major.Minor.Patch-Special。

  1. 这是替换汇编版本的想法还是添加到它?或者它只在Nuget中使用。
  2. 如何在运行时访问版本。我遇到了Nuget。SemanticVersion对象在线在Microsoft.Framework.Runtime包,但我找不到如何检索它的代码。
  3. 是否有一种程序化的方式来更新构建或自定义脚本上的此值?

Asp.Net 5语义版本控制

我不会说版本控制发生了特别大的变化。在版本号x.y.z中,"x"表示"大的更改/突破性的更改","y"表示"小的添加和修复","z"表示"非常小的修复"。这与语义版本控制(SemVer)的状态非常接近。

在基于project.json的项目中,只有一个地方可以指定版本,那就是project.json文件本身。该版本是SemVer(例如x.y.z-prerel),用于NuGet包版本程序集版本,程序集信息版本。如果在程序集中显式设置了程序集版本或信息版本,则将尊重这些版本而不会覆盖它们。(你可以在这里看到代码)

在运行时可以通过反射读取程序集版本(就像以前一样)。

当在DNX应用程序中运行时,还有一个ILibraryManager接口,您可以使用它来检查正在运行的应用程序。然而,这是一个相当高级的场景。

最后,在project.json文件中,您可以硬编码版本的x.y.z部分,例如1.2.3,但您也可以为预发布说明符指定*,例如1.2.3-*。如果您使用*作为预发布说明符,您可以设置一个名为DNX_BUILD_VERSION的环境变量来指定*的值,例如beta1rc2-54289

记录了一些特性请求,以便在外部指定整个版本号时更灵活。