假设我有一个版本号1.5.*,编译为1.5.4735.28467。
得到4735和28467的公式是什么?
请注意:有替代工具/规则/方案/宏/加载项等以不同的方式控制版本控制;如果使用,它们显然会抹杀以下内容。
然而,在vanillaVisualStudio/.NET构建过程中,"*"
版本是如何计算为.build.revision
的:
指定版本时,至少必须指定主要版本。如果指定主要和次要,则可以为构建指定星号(*)。这将导致构建等于自2000年1月1日起的天数,并且修订将等于自当地时间午夜起的秒数除以2。
请参阅编码恐怖:艰难地确定生成日期和MSDN:AssemblyVersionAttribute。此默认扩展行为记录在AssemblyVersionAttribute类(BCL!)
以下是公式的一个实现(摘自Daniel的评论):
int Build = DateTime.Today.Subtract(new DateTime(2000, 1, 1)).Days;
int Revision = (int)DateTime.Now.Subtract(DateTime.Today).TotalSeconds / 2;