15

假设我有一个编译为 1.5.4735.28467 的版本号 1.5.*。

得到 4735 和 28467 的公式是什么?

4

1 回答 1

23

请注意:替代工具/规则/方案/宏/插件/等以不同的方式控制版本控制;如果使用它们显然会消除以下内容。

但是,这是在vanilla Visual Studio / .NET 构建过程"*"中计算版本的方式:.build.revision

指定版本时,您至少必须指定主要版本。如果您指定主要和次要,您可以为 build 指定一个星号 (*)。这将导致构建等于自当地时间 2000 年 1 月 1 日以来的天数,而修订等于自当地时间午夜以来的秒数除以 2。

请参阅Coding Horror: Determining Build Date the hard wayMSDN: AssemblyVersionAttribute。此默认扩展行为记录在 AssemblyVersionAttribute 类(BCL!)而不是特殊的 VS 编译器行为(请参阅 Daniel 的评论),而不仅仅是编译器行为。


这是公式的一种实现(摘自丹尼尔的评论):

int Build = DateTime.Today.Subtract(new DateTime(2000, 1, 1)).Days;
int Revision = (int)DateTime.Now.Subtract(DateTime.Today).TotalSeconds / 2; 
于 2012-12-19T01:22:04.687 回答