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.
答案 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")]
关于这个想法的任何建议,我很乐意听到。
非常感谢,