Asp.Net 5语义版本控制
本文关键字:版本控制 语义 Net Asp | 更新日期: 2023-09-27 18:06:28
版本控制的工作方式似乎与以前的。net版本有所不同。该项目。json似乎使用语义版本控制(从我在网上看到的),格式为Major.Minor.Patch-Special。
- 这是替换汇编版本的想法还是添加到它?或者它只在Nuget中使用。
- 如何在运行时访问版本。我遇到了Nuget。SemanticVersion对象在线在Microsoft.Framework.Runtime包,但我找不到如何检索它的代码。
- 是否有一种程序化的方式来更新构建或自定义脚本上的此值?
我不会说版本控制发生了特别大的变化。在版本号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
的环境变量来指定*
的值,例如beta1
或rc2-54289
。
记录了一些特性请求,以便在外部指定整个版本号时更灵活。