核心库和扩展库的版本控制

时间:2011-08-12 21:51:10

标签: c# versioning ninject backwards-compatibility

Ninject项目包括Ninject核心库和大量(~17)扩展库。

目前,Ninject及其扩展库都具有相同的Major.Minor编号。 Ninject核心的下一个版本将向后兼容,因此增加次要编号是正确的操作。至少有一个扩展库不会向后兼容。在这种情况下,正确的行动是增加主要数量。但这会使核心和分机不同步。

问题是你认为最好的选项会导致最少的混淆:

  1. 正确地增加主要数字的优势在于版本号反映了向后不兼容性以及核心和扩展程序不同步的缺点,因此不容易分辨出什么是匹配的

  2. 保留分机号码的主号码并仅增加次要号码。优点是数字相同,很容易分辨出匹配的数字。但这个数字并不能反映出后向不兼容性的缺点。

  3. 增加所有内容的主要数量。优点是数字相同。但缺点是核心和几个扩展的主要数量增加,即使它们是向后兼容的。

  4. 或者你能想到另一个更好的选择吗?

1 个答案:

答案 0 :(得分:1)

我会选择最后一个选项,我不认为增加主要版本号意味着向后兼容性已被明确打破,很多情况下产品的版本号增加但没有破坏向后兼容性,采取看看.NET,例如版本号已经从1增加到4,所有版本几乎没有破损。