假设我有一个编译为 1.5.4735.28467 的版本号 1.5.*。
得到 4735 和 28467 的公式是什么?
假设我有一个编译为 1.5.4735.28467 的版本号 1.5.*。
得到 4735 和 28467 的公式是什么?
请注意:有替代工具/规则/方案/宏/插件/等以不同的方式控制版本控制;如果使用它们显然会消除以下内容。
但是,这是在vanilla Visual Studio / .NET 构建过程"*"
中计算版本的方式:.build.revision
指定版本时,您至少必须指定主要版本。如果您指定主要和次要,您可以为 build 指定一个星号 (*)。这将导致构建等于自当地时间 2000 年 1 月 1 日以来的天数,而修订等于自当地时间午夜以来的秒数除以 2。
请参阅Coding Horror: Determining Build Date the hard way和MSDN: 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;