|
|
1
24
一些好消息来自 this article 在Suzanne Cook在msdn上的博客(2003-05-30)上:
|
|
|
2
21
定义版本控制的一种方法是为每个部分赋予语义含义:
以上只是一个例子——您需要定义对您有意义的规则。但对于用户来说,仅仅通过查看版本就可以快速判断是否存在不兼容性是非常好的。 哦,别忘了公布你提出的规则,这样人们就知道你的期望了。 |
|
|
3
8
语义版本控制有一套关于如何应用(以及何时应用)的指导原则和规则。很容易理解,而且很有效。 |
|
|
4
6
我首先建议您熟悉程序集版本和文件版本之间的差异。不幸的是,对于assemblyinfo文件,.net倾向于将这些文件视为相同的文件,因为它通常只放置assemblyversion并允许fileversion默认为相同的值。 既然您说这是一个共享程序集,我假设您的意思是它是在二进制级别上共享的(而不是通过将项目包含在各种解决方案中)。如果是这种情况,您希望非常慎重地更改程序集版本,因为.NET使用这种方式来强命名程序集(允许您将其放入GAC中),并构成“程序集全名”。当程序集版本更改时,它可以对使用它的应用程序进行破坏性更改,而无需在app.config文件中添加程序集重定向条目。 至于命名,我认为这取决于贵公司的命名规则(如果有的话)以及库的用途。对于ExMaple,如果此库提供的“核心”(或系统级)功能不是特定于任何特定产品或业务线的,则可以将其命名为:
如果它是大型图书馆的一部分,或者
至于何时增加版本号,它仍然相当主观,取决于您认为要表示的构建号的每个部分。默认的Microsoft方案是major.minor.build.revision,但这并不意味着您无法想出自己的定义。最重要的是在您的策略中保持一致,并确保定义和规则在您的所有产品中都有意义。 在几乎每个版本方案中,我都看到前两个部分是major.minor。主版本号通常在发生大的更改和/或中断更改时递增,而次版本号通常递增,以指示发生了未中断更改的更改。另外两个数字更为主观,可以是“构建”(通常是序列日期值的倍,也可以是每天变化的顺序更新数字)和“修订”或补丁号。我还看到它们被颠倒了(给出major.minor.revision.build),其中build是一个自动生成系统中按顺序递增的数字。 请记住,导出程序集时,程序集的主要版本和次要版本将用作类型库版本号。 最后,查看其中一些资源以了解更多信息: http://msdn.microsoft.com/en-us/library/51ket42z.aspx http://msdn.microsoft.com/en-us/library/system.reflection.assemblyversionattribute.aspx |
|
|
Gigi Bayte 2 · Git认为领先分支机构落后 8 年前 |
|
|
acanessa · 联接两个表并应用分组依据,但更改排序顺序 8 年前 |
|
|
diegoalmesp · 在ReactJs中对组件进行版本控制 8 年前 |
|
|
Kamil W · Artifactory-NuGet-最大唯一快照数 8 年前 |