5

可能重复:
程序集版本的详细信息

汇编版本是如何在 VS/.NET 中生成的?我知道 AssemblyInfo.cs 或 AssemblyInfo.vb 中有几个字符串,如下所示:

' Version information for an assembly consists of the following four values:
'
'      Major Version
'      Minor Version 
'      Build Number
'      Revision
'
' You can specify all the values or you can default the Build and Revision Numbers 
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")> 

<Assembly: AssemblyVersion("1.0.0.0")> 
<Assembly: AssemblyFileVersion("1.0.0.0")> 

但是最终的组装版本是如何创建的呢?它是如何递增的?最后一个值存储在哪里?我们有一个自定义的内部发布环境,我想自定义程序集版本......我在谷歌上四处寻找,但找不到任何东西......任何指针?

4

4 回答 4

5

使用汇编版本的“1.0.*”设置将执行以下操作:

  • 主要版本:1(如您所示)
  • 次要版本:0(如您所述)
  • 内部版本号:自 2000 年 1 月 1 日以来的天数。
  • 修订:自 12:00 AM(UTC?)以来的毫秒数

所以这就是递增的工作方式......

于 2012-04-30T16:59:02.737 回答
3

主要和次要版本没有被添加,它们由指定的内容固定。内部版本号是自 2000 年 1 月 1 日以来的天数。修订号是自午夜(当地时间)以来的秒数除以 2。

您可以在MSDN上查看更多详细信息

...构建等于自当地时间 2000 年 1 月 1 日以来的天数,修订版等于自当地时间当天午夜以来的秒数除以 2。

于 2012-04-30T17:00:28.747 回答
1

如果您不喜欢内置行为,请查看 AssemblyInfo 任务!

http://archive.msdn.microsoft.com/AssemblyInfoTaskvers

于 2012-04-30T17:49:08.537 回答
0

只需按照您需要的方式生成包含版本的文件,至少对于官方版本。来自同一“构建”的程序集之间的版本不同是令人困惑的。

您可能还希望对版本进行更多控制,以了解构建是来自某人的机器还是某种官方构建。

另一个考虑因素:如果您有任何类型的公共 API 并且需要提供向后/向前兼容性,自动生成版本几乎是不可能的。

于 2012-04-30T17:01:37.437 回答