C#管理修订号的有效方法

时间:2009-05-28 07:55:16

标签: c#

C#2008 SP1

我想知道处理修订号的最佳方法是什么。

我一直认为通常只有3个数字。 (主要,次要和错误修复)。

但是,我想知道内部版本号和版本号是什么。

例如,过去我通常只使用3个数字。我有一些非常小的变化或错误修复我会增加第3个数字(错误修复)。

因为我是新手。通常在专业领域做什么?

非常感谢任何建议,

在我的AssemblyInfo文件中,我有以下内容:

// 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.2.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]

// 1.0.2 Added feature for detecting if a sound card is installed.

6 个答案:

答案 0 :(得分:10)

来自MSDN

  
      
  • 构建:构建号的差异表示重新编译   相同的来源。这将是   适合因为处理器,   平台或编译器更改。

  •   
  • 版本:具有相同名称,主要版本号和次要版本号的程序集   但是意图进行不同的修订   完全可以互换。这个   适合修复安全性   之前发布的洞   组装

  •   
Phil Haack有一个nice deconstruction的.NET版本系统,但实际上我并不认为他的顾虑真的很重要,因为根据我的经验,.NET / MS版本控制系统只是技术用于调试/支持/跟踪目的,公共和项目管理通常是基于日期或编制 - 营销 - 版本号。

FWIW我工作过的每个.NET项目都由“X.Y. *”管理,即我们想手动控制主要和未成年人是什么,但让系统控制构建和修订。

答案 1 :(得分:8)

答案 2 :(得分:5)

我认为Paul Alexander的回答是正确的,但我想在AssemblyInfo文件中添加以下注释:

如果您使用1.0.2.*,请记住最后一位(由*替换)是一个随机数所以如果您今晚构建1.0.2. *`,那么明天再建一个早上,第二个版本的版本号可能比之前的版本低。

答案 3 :(得分:4)

您需要考虑以不同方式对程序集和文件进行版本控制。当您更改程序集版本号时,现有代码可以使用它而不重新编译,这是非常困难的。我们只在有突破性更改时更改程序集版本,以便我们可以轻松地发布小错误修复。

详细了解我们的Assembly Versioning政策。

答案 4 :(得分:2)

我们以两个为增量使用Bug-fix编号。奇数表示发布的小错误修复,甚至数字意味着修复错误。显然,这在某些业务中很常见,即我所在的业务。

这个想法是识别意外释放,不知怎的,我喜欢这个想法。做事让你轻松看到错误的东西。这并不是说奇数必然是非偶然的释放,只是它具有很高的概率。

答案 5 :(得分:1)

感谢您的所有建议。

我决定使用以下内容。

我的项目有以下版本号:1.0.2.20。 1 .:重大变化 0:微小的变化 2 .:错误修复 20:颠覆修订号

所以我在assemblyinfo.c文件中更改了以下内容

[assembly: AssemblyVersion("1.0.2.20")]

关于这个想法的任何建议,我很乐意听到。

非常感谢,