2010-08-02 80 views
8

我们将在每个库中找到Assembly.cs的汇编版本。汇编版本的详细信息

[assembly: AssemblyVersion("1.0.0.0")] 
[assembly: AssemblyFileVersion("1.0.0.0")] 

我的问题是1.0.0.0是什么意思?

谢谢

+1

可能重复的[你如何版本你的项目?](http://stackoverflow.com/questions/142340/how-do-you-version-your-projects) – 2010-08-02 11:15:20

+0

它不是我认为的 – 2010-08-02 11:23:47

回答

26

文件本身中指出:

// 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")] 

通过这种改变方式如下:

// 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")] 

你”会得到最后两个部分的自动设置(Build NumberRevision)。而这种自动递增的工作原理如下:

  • Build Number:自2000年1月1日天
  • Revision:午夜以来秒由两个

最后但并非最不重要的划分,如果你使用Subversion的SourceControl你可以创建一个模板文件(与其他名称相同的文件的副本),您可以在所需的位置替换,如下所示:

[assembly: AssemblyVersion("1.0.$WCREV$.0")] 

和你的项目你预建事件中,你会进入这样的事情:

SubWCRev "$(ProjectDir)\" "$(ProjectDir)Properties\AssemblyInfo.template.cs" "$(ProjectDir)Properties\AssemblyInfo.cs" 

为了让您当前的Subversion版本号为您的应用程序的版本信息。

+3

小修正:修正=自午夜以来的秒数除以2。原因是由于一天有86400秒,版本限制为16位整数,每天最多只能获得65535秒。 – Dave 2011-04-22 09:56:15

+0

@Dave:谢谢,作了更新。 – Oliver 2011-04-26 11:09:30

3

主要版本。次要版本。内部编号。修订

3

AssemblyInfo.cs,四个数字的意思是:

// Version information for an assembly consists of the following four values: 
// 
//  Major Version 
//  Minor Version 
//  Build Number 
//  Revision 
2

版本号由四部分组成;主要,次要,构建和修订。

Major和Minor的前两个部分是用户通常会看到的版本号,主要更改是针对非常大的更改,而对于每个全新版本的用户都会增加minor。

构建和修订的第二个部分是对IT人员真正的版本号的扩展。默认情况下,这些是自随机指定开始日期以来的天数,以及基于自午夜以来的秒数的修订。

我们实际上使用版本的日期版本,并在一天内发布版本(尽管我们可能会将其移至我们的svn版本号)。