Gek*_*tek 7 c# versioning asp.net semantic-versioning dnx
似乎版本控制的工作方式与之前版本的.Net不同.project.json似乎使用了语法版本(我在网上看到的),格式为Major.Minor.Patch-Special.
我不会说版本控制发生了特别显着的变化。在版本号 xyz 中,“x”表示“大更改/重大更改”,“y”表示“少量添加和修复”,“z”表示“非常小的修复”。这与语义版本控制 (SemVer) 的规定非常接近。
在project.json基于 - 的项目中,只有一个位置可以指定版本,那就是文件project.json本身。该版本是 SemVer(例如x.y.z-prerel),用于 NuGet 包版本、程序集版本以及程序集信息版本。如果您已在程序集中显式设置程序集版本或信息版本,则这些版本将受到尊重且不会被覆盖。(您可以在此处查看代码。)
在运行时,您可以通过反射读取程序集版本(就像以前一样)。
在 DNX 应用程序中运行时,还有一个ILibraryManager界面可用于检查正在运行的应用程序。然而,这是一个相当高级的场景。
最后,在project.json文件中,您可以对版本的 xyz 部分进行硬编码,例如1.2.3,但您也可以*为预发布说明符指定 a,例如1.2.3-*。如果您使用*for 预发布说明符,则可以设置一个名为 的环境变量DNX_BUILD_VERSION来指定 的值*,例如beta1或rc2-54289。
记录了一些功能请求,以便在外部指定整个版本号时更加灵活。