11

If I have an assembly version such as:

[assembly: AssemblyVersion("2013.7.18.*")]

When this version number is read, it will be something like 2013.7.18.123.

What causes the incrementation of the final number?

4

2 回答 2

19

不会增加,这需要构建系统知道以前的版本。它没有这样的知识。你基本上得到一个随机数。这不是随机的,修订号是从一天中的时间生成的。内部版本号也可以是随机的,它是从日期生成的。

请注意使用的后果2013.7.18.*,您不能保证它是唯一的。如果您曾经在完全相同的时间构建,那么您将获得完全相同的数字。它也不会自动成为更大的版本号,更早构建,你会倒退。这些不是版本号的重要属性。

或者换句话说,只有使用1.0.*才有意义,它会生成一个总是增加的版本号。因为内部版本号总是更大。

还值得注意的是,您确实尝试将日期放在版本号中。你已经明白了,如果你让它选择内部版本号,你总是可以从结果中对构建日期进行逆向工程。内部版本号是自 2000 年 1 月 1 日以来的天数,修订号是自午夜以来的秒数(没有 DST 更正)除以 2。

于 2013-07-18T11:54:58.460 回答
0

AssemblyVersionAttribute 类

您可以指定所有值,也可以使用星号 ( )接受默认内部版本号、修订号或两者。例如,[assembly:AssemblyVersion("2.3.25.1")] 表示 2 为主要版本,3 为次要版本,25 为内部版本号,1 为修订号。诸如 [assembly:AssemblyVersion("1.2. ")] 的版本号指定 1 作为主要版本,2 作为次要版本,并接受默认的构建和修订号。诸如 [assembly:AssemblyVersion("1.2.15.*")] 的版本号指定 1 作为主要版本,2 作为次要版本,15 作为内部版本号,并接受默认修订号。默认内部版本号每天递增。默认修订号是随机的。

于 2013-07-18T09:53:37.307 回答